RaymondHuang
RaymondHuang
发布于 2022-12-17 / 75 阅读
0
0

类的构造函数

class Student {
public:
    int id;
    
    Student() { // 默认(无参)构造函数
        id = 0;
    }
    
    Student(int _id) { // 有参构造函数
        id = _id;
    }
    
    Student(const Student& s) { //拷贝构造函数
        id = s.id;
    }
}

当然,也可以这么写,只是把赋值的过程挪到了上面

class Student {
public:
    int id;

    Student() : id(0) { // 默认
        cout << "Student() : id(0)" << endl;
    }

    Student(int _id) : id(_id) { // 有参
        cout << "Student(int _id) : id(_id)" << endl;
    }

    Student(const Student& s) : id(s.id) { // 拷贝
        cout << "Student(const Student& s) : id(s.id)" << endl;
    }

};

使用上述三种构造函数初始化对象的7种方法:

// 默认构造函数
Student s;
Student s = Student();

// 有参构造函数
Student s(1);
Student s = Student(1);

// 拷贝构造函数
Student s(s1);
Student s = Student(s1);
Student s = s1;



评论