两种分类方式:
    按参数分为: 有参构造和无参构造
    按类型分为: 普通构造和拷贝构造

    三种调用构造函数的方法

    • 括号法
    • 显式法
    • 隐式转换法
    1. #include <bits/stdc++.h>
    2. using namespace std;
    3. class Person{
    4. public:
    5. Person(){
    6. cout << "Person默认构造函数的调用" << endl;
    7. }
    8. Person(int num){ // 有参构造
    9. this->m_Num = num;
    10. cout << "Person有参构造函数的调用" << endl;
    11. }
    12. Person(const Person& per){
    13. this->m_Num = per.m_Num;
    14. cout << "Person拷贝构造函数的调用" << endl;
    15. }
    16. ~Person(){
    17. cout << "Person析构函数的调用" << endl;
    18. }
    19. public:
    20. int m_Num;
    21. };
    22. int main(){
    23. Person person1; // 调用无参构造函数
    24. Person person2(10); // 括号法调用有参构造函数
    25. Person person3(person2); // 括号法调用拷贝构造函数
    26. Person person4 = Person(20); // 显式法调用构造函数
    27. Person person5 = 10;
    28. cout << "Person2 = " << person2.m_Num << endl;
    29. cout << "Person3 = " << person3.m_Num << endl;
    30. cout << "Person4 = " << person4.m_Num << endl;
    31. cout << "Person5 = " << person5.m_Num << endl;
    32. return 0;
    33. }

    image.png