#include<iostream>
using namespace std;
class Student1
{
public:
int a;
int b;
void fprint() {
cout << "a = " << a << " " << "b = " << b << endl;
}
//Student1(int i):b(i),a(b) {}//异常顺序,a的值未知,b的值为2,说明初始化对a不起作用
Student1(int i):a(i), b(a) {}//正常顺序,
Student1()
{
cout << "默认构造函数Student1" << endl;
}
Student1(const Student1& t1)
{
cout << "拷贝构造函数Student1" << endl;
this->a = t1.a;
}
Student1& operator = (const Student1& t1) {//赋值
cout << "赋值函数Student" << endl;
this->a = t1.a;
return *this;
}
};
class Student2 {
public:
Student1 test;
Student2(Student1 &t1) {
test = t1;
}
};
int main()
{
Student1 A(2);
Student2 B(A);
A.fprint();
return 0;
}
c++——构造函数初始化顺序()
最新推荐文章于 2024-02-18 09:54:39 发布