你有一个A类,你把ctor设置为私有,所以客户不能打电话
A a;
Run Code Online (Sandbox Code Playgroud)
在堆栈上创建obj.但是有一天,另一位开发者增加了一个新的ctor:
A(int)
Run Code Online (Sandbox Code Playgroud)
并试着称之为"A a(1);" 在main()中.所以这将在堆栈上创建一个obj.你怎么防止这种情况?
这是我的解决方案,但我不知道它是否有意义.
对类A使用私有或受保护的析构函数,并提供工厂函数来分配对象和释放资源的函数(即调用析构函数)
谢谢