C++构造函数 & 拷贝构造函数 & 括号法显示法隐式转换法实现类

一.无参构造 & 有参构造 & 拷贝构造函数

拷贝的是自己所属的类,也就是克隆自己。
所以传参要穿自己的类名。
克隆归克隆,但是不能把本身给改了,所以参数前要加const。
class Person
{
public:
    int age;
    
public:
    Person()
    {
        cout<<"Person的构造函数"<<endl;
    }
    Person(int a)
    {
        age = a;
        cout<<"Person的有参构造函数"<<endl;
    }
    //拷贝构造函数
    Person(const Person &p)
    {
        // 将传入的人身上的所有属性,拷贝到我身上。
        age = p.age;
    }

};

二.三种方法调用构造函数(类的实现)

   //1.括号法调用
    Person p1; // 调用默认构造函数 (调默认构造函数时不能加括号,否则编译器会认为是声明)
    Person p2(10); //调用有参构造函数
    Person p3(p2); //调用拷贝构造函数


    //2.显示法
    Person p2 = Person(10); //调用有参构造
    Person p3 = Person(p2); //调用拷贝构造

    //3.隐式转换法
    Person p4 = 10; //相当于 Person p4 = Person(10);
    Person p5 = p4; //拷贝构造

你可能感兴趣的:(C++笔记,c++,开发语言)