gpt4 book ai didi

c++ - 在派生类ctor中接收基类拷贝是错误的吗?

转载 作者:太空狗 更新时间:2023-10-29 21:32:30 25 4
gpt4 key购买 nike

<分区>

让派生类 ctor 在参数中接收基类的拷贝以避免在派生类 ctor 中再次重写所有基类 ctor 参数是否是一个糟糕的设计?

假设你有:

class CBase
{
public:
int a1;
int a2;
int a3;

CBase(int _a1, int _a2, int _a3) :
a1(_a1), a2(_a2), a3(_a3)
{}
};

class CDerived : public CBase
{
public:
int b1;
int b2;

CDerived(int _a1, int _a2, int _a3, int _b1, int _b2) :
CBase(_a1, _a2, _a3), b1(_b1), b2(_b2)
{}
};

CDerived 构造函数似乎非常错误。在这种情况下建议做什么?我想将 CDerived ctor 更改为如下内容:

class CDerived : public CBase
{
public:
int b1;
int b2;

CDerived(CBase _cbase, int _b1, int _b2) :
CBase(_cbase), b1(_b1), b2(_b2)
{}
};

这是错的吗?

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