我得到了
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;
}
答案 0 :(得分:2)
在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是一个类,因此错误。
答案 1 :(得分:0)
你应该把
#include "fish.h"
在头文件中。 (saltwaterfish.h)
否则此代码将无法访问fish类。
祝你好运。答案 2 :(得分:0)
错误意味着&#34; {之前应该是类名,但它不是。&#34;所以&#39; fish&#39;不是班级名称。寻找鱼类的声明,并确保在此声明之前加载它。