代码: #include <iostream>using namespace std;class A{public: A() { cout << "Default constructor is called./r/n"; } A(int ix) { cout << "Another constructor is called./r/n"; } ~A() { cout << "Destructor is called./r/n"; }};int main(){ A a1; // <1> a1.A::A(); // <2> 显示调用默认构造函数(写成a1.A()会报错) a1.A::A(7); // <3> 显示调用非默认构造函数(写成a1.A(7)会报错) a1.A::~A(); // <4> 显示调用析构函数, 但是此时对象a1并没有销毁(写成a1.~A()不会报错) // A a2(); // 这样写没报错, 但也没调用任何构造函数和析构函数. A a3 = A(); // <5> 完整写法: A a3 = A::A(); A a4(77); // <6> A a5 = A(777); // <7> 完整写法: A a5 = A::A(777); return 0; // <8>, <9>, <10>, <11> return语句之后, 右括号之前析构函数被隐式调用. a1, a3, a4, a5对象在这里被销毁.}#include <iostream>using namespace std;class 你的当前访问异常,请进行认证后继续阅读剩余内容。 提交