gpt4 book ai didi

c++ - 正确实例化双重继承的对象?

转载 作者:行者123 更新时间:2023-11-28 02:42:46 25 4
gpt4 key购买 nike

我正在尝试使用双重继承来声明一个更复杂的对象,作为两个更简单对象的总和。但是,当我尝试按如下方式进行时:

class common_cfullr
{
public:
double core;
double thr;
double thrres;
common_cfullr(double Core, double Thr, double Thrres){
core=Core;
thr=Thr;
thrres=Thrres;
};
~common_cfullr(){};
common_cfullr() :
core(0.0),
thr(0.0),
thrres(0.0)
{}
};

class common_cfull
{
public:
int nelec;
int ms2;

common_cfull (int Nelec,
int Ms2){
nelec =Nelec;
ms2 =Ms2;
};
~common_cfull(){};
common_cfull() :
nelec(0),
ms2(0){}
};

///Structure inheritance
class common :
public common_cfullr,
public common_cfull
{public:
common(){};
~common(){};
};

int main(int argc, char** argv)
{
common cmn();
cmn.nelec=0;

return 0;
}

我从编译器那里得到一个错误。为此,我该如何正确使用双重继承?

如有任何建议,我们将不胜感激。

最佳答案

(基于 Neik Kirk 的评论。)将 common cmn(); 更改为 common cmn; 可使您的代码编译无误。

当使用 clang++ 编译时,编译器发出的 note 也会告诉您:

t.cc:48:13: warning: empty parentheses interpreted as a function declaration
[-Wvexing-parse]
common cmn();
^~
t.cc:48:13: note: remove parentheses to declare a variable
common cmn();
^~

关于c++ - 正确实例化双重继承的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25415776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com