class Publicatie{
public:
class Carte : public Publicatie{
private:
char* autor;
};
class Revista : public Publicatie{
private:
char* frecventa_aparitie;
int numar;
};
private:
int cota;
char* titlu;
char* editura;
int anul_aparitiei;
int tiraj;
Carte* c;
Revista* r;
public:
//some methods...
}
这是代码,我要在Publicatie类中声明Carte和Revista类,并且需要有私有成员Carte和Publicatie。我真的不知道如何使用这些类进行继承设计。我在继承的标题中得到了一个错误:public Publicatie,我认为它将起作用,因为该类已经创建(即使尚未创建私有成员)。
最佳答案
您的设计是错误的。您正在尝试定义一个类,并且在该定义中,您尝试从其本身使用它;这是一个逻辑悖论。
从我从您的代码中可以理解的范围来看,您正在尝试创建一个名为Publicatie
的类,该类表示出版物(或文章),并且它还有两个其他变体,分别名为Carte
和Revista
。如果是这种情况,为什么Publicatie
需要具有两个Carte
和Revista
类型的私有成员?也许您可以从中删除这两个成员。
或者,您可以将他们的某些共享成员(例如titlu
,tiraj
和...)移动到另一个抽象类,然后定义Publicatie
,Carte
和Revista
,以便所有它们从同一个父类继承。
希望这些工作。