Wprowadziłem nową klasę, która dziedziczy po dwóch innych,
CDoktorant.h
#pragma once
#include "stdafx.h"
class CDoktorant : public CStud2st, CProwadzacy // tutaj mam błąd przy CStud2st "base class undefined"
{
public:
CDoktorant(void);
~CDoktorant(void);
protected:
void printData(void);
};
klasę CStud2st używałem i jest sprawna, nie rozumiem jakim sposobem może być undefined?
CDoktorant.cpp
#pragma once
#include "StdAfx.h"
#include "CDoktorant.h"
CDoktorant::CDoktorant(void) : CStud2st(), CProwadzacy() {}
CDoktorant::~CDoktorant(void) {}
void CDoktorant::printData() {}
CStud2st.h
#pragma once
#include "stdafx.h"
class CStud2st : public CStudent
{
public:
CStud2st(void);
CStud2st(unsigned);
~CStud2st(void);
void sredniaStud();
void sredniaWyswietl();
friend std::istream& operator>>(std::istream&, CStud2st &);
friend std::ostream& operator<<(std::ostream&, const CStud2st &);
protected:
std::string stNaukowy;
double* tabSrednie;
};
stdafx.h
#pragma once
#include "CCzlowiek.h"
#include "CProwadzacy.h"
#include "CDoktorant.h"
#include "CStudent.h"
#include "CStud2st.h"
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <string>
przy okazji pliku stdafx.h, czy wie ktoś dlaczego MS Visual domyślnie odnosi się do tego pliku jako do "StdAfx.h" czyli dwie litery są duże?? np. kiedy tworze nową klasę to automatycznie robi include "StdAfx.h" nie kumam tego, przecież wielkość liter ma znaczenie, a ten plik w systemie istnieje jako stdafx.h, czyli wszytsko małymi literami?? O co to może chodzić?
StdAfx.h
, ale nic nie szkodzi np. pod Linuksem tak nazwać pliku. 2. Windows nie rozróżnia wielkości liter w nazwach plików, niezależnie od użytego systemu plików. ZrównanieA
za
następuje na poziomie WinAPI.