我很新的C + +和书籍和YouTube和在这里同时工作,但我有一个奇怪的问题,我找不到解决方案。 我试图从一个基类“母亲”继承到一个派生类女儿,它不是为我工作,它说它需要继承在C++给予预期{上课
此代码取自TheNewBoston,所以谢谢你Bucky,只是给学分
C:\CppProjects\inheritance\Daughter.h|6|error: expected class-name before '{' token
我添加的主要和类:
主:
#include <iostream>
#include "Mother.h"
#include "Daughter.h"
using namespace std;
int main()
{
Daughter t;
t.sayName();
}
妈妈级:
#include "Mother.h"
#include <iostream>
#include "Daughter.h"
using namespace std;
Mother::Mother()
{
}
void Mother::sayName(){
cout<<"I am !!!"<<endl;
}
母亲头:
#ifndef MOTHER_H
#define MOTHER_H
class Mother
{
public:
Mother();
void sayName();
};
#endif // MOTHER_H
子类:
#include "Daughter.h"
#include <iostream>
#include "Mother.h"
using namespace std;
Daughter::Daughter()
{
}
女儿头:
#ifndef DAUGHTER_H
#define DAUGHTER_H
class Daughter : public Mother
{
public:
Daughter();
};
#endif // DAUGHTER_H
我看了大部分的搜索在这里并没有什么发现,我甚至尝试过noob风格,并添加std ::,它无关wi它。
谢谢大家愿意尝试的人!
只是让你知道,当我试图把所有的代码都在一个文件中,它的伟大工程:
新的主:
#include <iostream>
using namespace std;
class Mother
{
public:
Mother();
void sayName(){
cout<<"I am!!!!"<<endl;
}
};
class Daughter: public Mother
{
public:
Daughter();
};
int main()
{
Daughter t;
t.sayName();
}
至少当包括女儿的头部时,它不知道什么叫母亲 –
类可以请你进一步解释?并解决它的方法? – shimon
想一下定义的作用。当编译器启动你的Daughter.cpp时,它看到了什么?它看到一个链接到Daughter.h。有一堂课说“我是从母亲那里继承的”,但是你没有告诉编译器母亲是什么。所以你必须首先有一个包含母体的定义。订单很重要。 –