多次碰到某些情况,在不同的情况下需要使用不同的构造函数,而且只能使用构造函数来一次性生成对象,而不能在构造函数执行完毕后去设定对象的某个属性。曾经为这个事情很挠头,因为定义在if 语句里的对象,后面的语句是不认识的。
其实这种方法可以用三态语句来很简单的完成,看这里:
MyClass *p = useSubClass ? new MyClass() : new MySubClass();
http://doc.qt.io/qt-5/qscopedpointer.html
原文:http://www.cnblogs.com/findumars/p/5745344.html