继承派生类构造函数

时间:2016-04-18 02:04:27

标签: c++ inheritance

当我尝试初始化派生类时,我收到了一个错误(它表示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);   
}

1 个答案:

答案 0 :(得分:2)

此程序缺少entry point

class main{ should be int main() {,程序可能会返回0表示操作系统已成功完成。

最后还有一个冗余的;

Euro_call::Euro_call(const double& _s) :Euro(_s) {};

所以the full program,对最后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;
}