1.构造函数后面的冒号作用:
起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。
class point
{
private:
double x,y;
public:
Point(double x_value=0,double y_value=0):x(x_value),y(y_value)
{
cout<<"Constructor."<<endl;
}
};
2.拷贝构造函数:
拷贝构造函数就是使用类中已经创建好的对象来初始化新创建的对象
class Test
{
private:
int x;
int y;
public:
Test(const Test &r)
{
x = r.x;
y = r.y;
}
};
构造过程就是将另一个同类对象的成员变量一一赋值,const修饰是因为限定传入对象的只读属性。既能以常量对象(初始化后值不能改变的对象)作为参数,也能以非常量对象作为参数去初始化其他对象。
参数拷贝构造函数的参数必须是引用传递, 不能是值传递
3.引用参数:
double &x=y; //定义x是变量y的引用,定义引用必须初始化.
void swap(double &x,double &y) //定义两个引用参数,定义形参时,不需要初始化.
{
}