有一个带有几个整数和指针的类,
class A { int a; int b; char* s; public: ... class ConstructA { A &a; public: ConstructA (A& ta) : a(ta) {} ... }; };
如上所示,ConstructA负责构造对象A.我想编写一个方法来查看ConstructA是否成功构造了对象a.你会怎么做?
由于构造函数无法在C++中失败,因此对象可以是:
不存在
成功建造.
如果构造函数抛出异常,则在捕获异常时该对象实际上不存在.
您可能希望实现一个额外的方法,例如isOK()
返回对象的内部状态是否表示有用的方法.例如,如果您有一个表示文件的对象,那么您可以isOK()
用来指示该文件可以成功打开.但是,就C++而言,无论文件是否可以打开,文件对象都将完全构造.
话虽如此,我并不完全确定这个ConstructA
类在你的例子中的作用.