C++在编写类的时候,构造函数显得尤为的重要,尽管你有时候可能一直在使用默认的构造的函数,而自己不清楚,系统背后的工作。
1.类的构造函数
语法结构 类名(形参):初始化列表{其他初始化}或者 类名(形参){形参的初始化,和其他的初始化} 这一种在初始化时 同名初始化需要采用 this指针。
第一种类型的代码:
class A {
public:
A(int x) :x(x) {//the first method
//其他初始化
}
private:
int x;
};
第二种类型的代码:
class A {
public:
A(int x) {//the second method
this->x = x;
//其他初始化
}
private:
int x;
};
2.类的组合的构造函数
语法结构: 类名::类名(对象成员所需形参,本类成员形参):对象1(参数),对象2(参数),本类成员形参(参数){函数体其他语句}
class A {
public:
A(int x):x(x) {}
//int getx() { return x; }
private:
int x;
};
class B {
public:
A my_a;//my_a 是属于A类的对象的形参
B(A c,int y);
/*int showA() {
A* ptr = &my_a;
return my_a.getx();
}*/
private:
int y;
};
B::B(A c, int y) :my_a(c), y(y) {//c是在主函数时,读取的A类对象,然后将C赋值到my_之中
}
在这之中的一个getx和showA所用的指针是方便查看类组合之中,A的对象确实发生了参数的传递。
3.类的派生的构造函数
以后想写了在更! 有错误或者学习探讨,欢迎留言哦!