我試圖學習C++,並且在試圖找出繼承時偶然發現錯誤。非常基本的繼承:錯誤:在'{'標記之前期望的類名
編譯:daughter.cpp 在文件中包含從/home/jonas/kodning/testing/daughter.cpp:1: /home/jonas/kodning/testing/daughter.h:6:錯誤:預期講座前名稱 '{' 標記 過程與狀態1(0分0秒) 1錯誤,0警告
我的文件終止: main.cpp中:
#include "mother.h"
#include "daughter.h"
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
mother mom;
mom.saywhat();
return 0;
}
mother.cpp:
#include "mother.h"
#include "daughter.h"
#include <iostream>
using namespace std;
mother::mother()
{
//ctor
}
void mother::saywhat() {
cout << "WHAAAAAAT" << endl;
}
mother.h:
#ifndef MOTHER_H
#define MOTHER_H
class mother
{
public:
mother();
void saywhat();
protected:
private:
};
#endif // MOTHER_H
daughter.h:
#ifndef DAUGHTER_H
#define DAUGHTER_H
class daughter: public mother
{
public:
daughter();
protected:
private:
};
#endif // DAUGHTER_H
和daughter.cpp:
#include "daughter.h"
#include "mother.h"
#include <iostream>
using namespace std;
daughter::daughter()
{
//ctor
}
我想要做的就是讓女兒繼承一切從母親班公開(= saywhat())。我究竟做錯了什麼?
此外,您不需要在'mother.h'或'mother.cpp'中包含'daughter.h'。 你幾乎已經釘住了遺產,做出了建議的變化,你應該很好去。 – nikhil
一個C++約定的提示,就像你剛纔所說的那樣 - 類名的第一個字母通常是大寫的。這不是要求,但你會發現它是一個一致的編碼慣例。此外,我看到你已經對下面的一些答案留下了積極的評論 - 請接受最有幫助的答案!每個答案旁邊應該有一個複選標記,點擊它將接受它。感謝您爲StackOverflow做貢獻! – WendiKidd