【发布时间】:2017-11-29 13:30:41
【问题描述】:
假设我有这个代码:
class MyClass {
private:
class NestedPrivClass {};
public:
MyClass(NestedPrivClass){}
};
有没有办法让另一个类通过调用公共构造函数来创建MyClass 的实例?
在公共函数中使用私有嵌套类作为参数不应该是编译错误吗? (因为无法调用它们。)
【问题讨论】:
-
调用它也不是不可能,你只需要通过其他方式得到一个
NestedPrivClass -
你想做什么?你可以这样使用它,例如:
static MyClass* MyClass::Create() { return new MyClass( NestedPrivClass() ); }
标签: c++ class types private access-control