gpt4 book ai didi

c++ - C++ 类对象的初始化

转载 作者:行者123 更新时间:2023-11-28 02:45:21 24 4
gpt4 key购买 nike

<分区>

我对如何在父类(super class)上没有默认构造函数的情况下进行对象初始化有疑问。

#include <iostream>

class A
{
protected:
A(std::string title, int xpos, int ypos);
};

class B : A
{
protected:
//Is that correct?
A* m_pA(std::string title, int xpos, int ypos);
//Why not just A* m_pA;?
public:
B(std::string title, int xpos, int ypos);
};

B::B(std::string title, int xpos, int ypos) : m_pA(title, xpos, ypos)
{
//does nothing yet.
}

如您所见,我正在尝试在 B 的构造函数中初始化 A 类型的 m_pA 对象,VC 向我抛出:

“m_pA”不是类“B”的非静态数据成员或基类

您可以看到编译的示例和错误 here .

我想知道为什么以及如何在没有默认构造函数的情况下初始化类的成员对象,以及为什么我错了。

提前致谢!

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