gpt4 book ai didi

c++ - 哪个地方初始化基类成员变量比较好?

转载 作者:太空宇宙 更新时间:2023-11-04 14:50:31 24 4
gpt4 key购买 nike

class A // abstract class
{
protected:
int m_iA;
int m_iB;
int m_iC;
int m_iD;
int m_iE
~A();
};

class B : public A // abstract class
{
protected:
double m_dA;
double m_dB;
double m_dC;
double m_dD;
~B();
};

class C : public B
{
public:
C(int iA, int iB, int iC, int iD, int iE, double dA, double dB, double dC, double dD)
{

}
}

问题> 如您所见,基类AB 都包含许多成员变量。将这些初始值从 C 类传递到基类的更好解决方案是什么?

方法1>在类C的构造函数体中直接赋值基类成员变量。

方法2>将C的构造函数的所有初始值传递给B,最后传递给A

谢谢

最佳答案

我建议为 A 和 B 创建构造函数,让它们获取初始化值并应用它们。然后 C 调用 B 的构造函数,将值传递给它,等等。这样,如果有另一个类继承自 B 或 A,它将遵循相同的模式,并且可以通过仅具有需要初始化值的构造函数来强制执行。

关于c++ - 哪个地方初始化基类成员变量比较好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9995723/

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