第十天 构造函数,拷贝构造函数,析构函数的调用

    xiaoxiao2025-03-27  12

    碰到这三种函数的调用总是头昏,就在VS上写了代码实测一下:

    #include <iostream> using namespace std; class Myclass { public: Myclass() { cout << "1"; } Myclass(Myclass &temp) { cout << "2"; } Myclass& operator= (Myclass temp) { cout << "3"; return *this; } ~Myclass() { cout << "4"; } }; int main() { Myclass a1, *a2; cout << endl; Myclass a3; a1 = a3; cout << endl; Myclass &a4 = a1; cout << endl; Myclass a5 = a1; cout << endl; return 0; }

     结果:

    分析:

    一、对于单纯声明类指针并不调用构造函数。

    二、在非初始化情况下使用等号,内部操作依次为:1.对右值构造临时类对象,这里是拷贝构造函数;2.调用"="操作符;3.析构临时类对象。

    三、如果是初始化用等号,直接调用拷贝构造函数即可。

    转载请注明原文地址: https://ju.6miu.com/read-1297457.html
    最新回复(0)