当我尝试初始化派生类时,我遇到了一个错误(它说Euro_call不可访问)。有没有办法在不对代码进行重大更改的情况下修复错误?我欢迎任何建议。
class Euro{
protected:
double S; // spot price
public:
Euro(const double&);
~Euro(){};
};
Euro::Euro(const double& _s):S(_s){}
class Euro_call:public Euro{
public:
Euro_call(const double&);
~Euro_call(){};
};
Euro_call::Euro_call(const double& _s):Euro(_s){};
class main{
Euro_call a(2.0);
}
此程序缺少一个入口点。
class main{
应该是int main() {
,并且程序可以返回0以向操作系统指示成功完成。
的末尾还有一个冗余;
Euro_call::Euro_call(const double& _s) :Euro(_s) {};
因此,完整的程序,更改为最后4行:
class Euro {
protected:
double S; // spot price
public:
Euro(const double&);
~Euro() {};
};
Euro::Euro(const double& _s) :S(_s) {}
class Euro_call :public Euro {
public:
Euro_call(const double&);
~Euro_call() {};
};
Euro_call::Euro_call(const double& _s) :Euro(_s) {}
int main() {
Euro_call a(2.0);
return 0;
}