gpt4 book ai didi

c++ - QExplicitlySharedPointer 和继承

转载 作者:行者123 更新时间:2023-11-28 03:57:52 24 4
gpt4 key购买 nike

最好的使用方法是什么QExplicitlySharedPointer和继承类。我希望当 BaseClass 自行退出时,我的 d 指针是 QExplicitlySharedPointer<BaseClassPrivate>当我在这个基类之上有一个派生类时,我希望 d 成为 QExplicitlySharedPointer<DerivedClassPrivate> .

我尝试让 DerivedClassPrivate 继承自 BaseClassPrivate,然后保护 d 指针并在我的派生类中重新定义 d 指针,但现在看来我有两个 d 指针的拷贝,它们都是类的本地拷贝它们在...中定义,这不是我想要的。

最佳答案

这个怎么样:

template< typename P = BaseClassPrivate >
class BaseClass
{
public:
void myBaseFunc() { d->myBaseFunc(); }
protected:
QExplicitlySharedDataPointer< P > d;
};

class DerivedClass : public BaseClass< DerivedClassPrivate >
{
public:
void myDerivedFunc() { d->myDerivedFunc(); }
};

关于c++ - QExplicitlySharedPointer 和继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2693319/

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