C++C++

C++——构造函数

2018-12-16  本文已影响0人  d16ug_a1l

编译器不会主动生成构造函数,只有定于的时候才会生成。

构造函数与类名相同,可以有参数,不能有返回类型。

没有定义构造函数时,编译器会自动生成构造函数。

当类实例化出对象时

构造函数的作用为初始化对象,所以对象生成时就会调用构造函数。

class Test_a

{

public:

Test_a();

};

Test_a::Test_a()

{

cout << "构造函数";

}

int main()

{

Test_a cl_1;//会自动执行构造函数

}

构造函数和其他函数一样都可以进行重载。

class Test_a

{

public:

Test_a();

Test_a(int i);

};

Test_a::Test_a()

{

cout << "构造函数";

}

Test_a::Test_a(int i)

{

cout << "重载构造函数" << i;

}

int main()

{

Test_a cl_1(1);//会按照参数的传入状态执行构造函数

Test_a *cl_2=new Test_a(1);//使用类指针时同样会执行构造函数。

}

构造函数在对象数组中的使用

class Test_a

{

public:

Test_a();

Test_a(int i,int j);

};

Test_a::Test_a()

{

cout << "构造函数";

}

Test_a::Test_a(int i,int j=10)

{

cout << "重载构造函数" << i<<j;

}

int main()

{

Test_a a[3]={Test_a(),Test_a(2,5),Test_a(3)};//使用类指针时同样会执行构造函数。

Test_a *b[3] = { new Test_a,new  Test_a(1),new Test_a(2) };//效果与上相同

}

上一篇 下一篇

猜你喜欢

热点阅读