gpt4 book ai didi

c++ - 在 C++ 中,我可以防止派生类被 friend 以外的类实例化吗?

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

在C++中,如果我有一个抽象基类,是否可以防止它的派生类被基类知道的 friend 以外的类实例化?

最佳答案

您可以将构造函数定义为私有(private)的,就像任何其他函数一样。例如:

class foo
{

friend foo *FooConstructor(void);

public:
void Method();
void Method2();

private:
foo();
foo(const &foo);
};

foo *FooConstructor(void)
{
return new foo();
}

这可以防止以任何方式创建 foo,使用 FooContructor 函数保存。

关于c++ - 在 C++ 中,我可以防止派生类被 friend 以外的类实例化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30746376/

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