我得到一个
expected class-name before '{' token
在下面的代码中
saltwaterfish.h 头文件:
#ifndef SALTWATERFISH_H
#define SALTWATERFISH_H
class saltwaterfish: public fish
{
public:
saltwaterfish();
float GetUnitPrice();
float GetWeight();
};
#endif // SALTWATERFISH_H
这是定义头文件的正确方法吗
“咸水鱼是鱼的一个亚类”?
我在 saltwaterfish.cpp 中唯一的东西是
#include "fish.h"
#include "saltwaterfish.h"
fish.cpp 类:
#include "fish.h"
#include <iostream>
#include "freshwaterfish.h"
#include "saltwaterfish.h"
using namespace std;
fish::fish()
{
};
float fish::CalculatePrice()
{
return GetUnitPrice()*GetWeight();
}
float fish::GetUnitPrice()
{
return 1.0;
}
float fish::GetWeight()
{
return 1.0;
}
最佳答案
在saltwaterfish.h中包含fish.h
头文件
//saltwaterfish.h
#include"fish.h"
#ifndef SALTWATERFISH_H
#define SALTWATERFISH_H
class saltwaterfish: public fish
{
public:
saltwaterfish();
float GetUnitPrice();
float GetWeight();
};
#endif // SALTWATERFISH_H
编译器看不到 Fish 是一个类,因此出现错误。
关于c++ - 单继承 C++ 和头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22496468/