Skip to content

Latest commit

 

History

History
93 lines (68 loc) · 1.23 KB

211111.md

File metadata and controls

93 lines (68 loc) · 1.23 KB

对象的构造函数和析构函数

对像初始化和重置

默认构造函数

系统默认提供

#include<iostream>
using namespace std;

class Parent {
    public:
        // 默认构造函数
        Parent () {
            cout << "生命周期开始" << endl;
        }
};

构造函数调用

Parent p;
  1. 注意不能使用 () 调用;会被认为是函数声明。

参数构造函数

#include<iostream>
using namespace std;

class Parent {
    public:
        int n;
        // 默认构造函数
        Parent (int a) {
            n = a;
        }
};

参数构造参数调用

// 括号法
Parent P1(10);

// 显示调用
Parnet P1 = Parent(10);

// 隐式调用
Parent P1 = 10;


拷贝构造函数

系统默认提供

#include<iostream>
using namespace std;

class Parent {
    public:
        int n;
        // 默认构造函数
        Parent (const Parent & P) {
            n = P.n;
        }
};

拷贝构造调用

Parent P(10);

// 括号法
Parent P1(P);

// 显示调用
Parnet P1 = Parent(P);

// 隐式调用
Parent P1 = P;