gpt4 book ai didi

c++ - 实例化指向派生类的常量指针

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:02:28 25 4
gpt4 key购买 nike

<分区>

我有一个抽象基类 Base,它包含指向另一个抽象基类 BaseDataClass 的指针。我为这两个类派生了类,我将它们称为 DerivedDerivedDataClassBase 不知道 DerivedDataClass 存在,无论如何,我打算以后有 BaseBaseDataClass< 的多种组合 子类。在派生类中,我希望将指针设置为派生数据类的一个实例,但我不想稍后意外地分配指针,所以我将其设为 const。这显然使我无法在派生类的构造函数中使用 new 分配指针。有没有一种巧妙的方法可以在保持指针 const 的同时完成此操作?

class BaseDataClass
{
public:
BaseDataClass(){}
//some pure virtual methods
};

class Base
{
public:
Base(){}
//some pure virtual methods

protected:
BaseDataClass * const data; //compiler complains if this isn't set

};



//// elsewhere
class DerivedDataClass : public BaseDataClass
{
public:
DerivedDataClass(){}
};


class Derived : public Base
{
public:
Derived(){
data = new DerivedDataClass(); //also does not compile obviously
}

};

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