码迷,mamicode.com
首页 > 编程语言 > 详细

关于C++构造函数

时间:2017-04-25 13:22:10      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:写入   参数   对象   多个   情况   默认   构造   cto   默认值   

如果有多个默认构造函数,比如说:

class MyClass
{
public:
	MyClass() {};
	MyClass(int a = 0, int b = 0,int c=0)
	{
		a_ = a;
		cout << "constructor 1 " << endl;
	}
	MyClass(int a, int b)
	{
		a_ = a;
		b_ = b;
		cout << "constructor 2 " << endl;
	}
	~MyClass() {};

private:
	int a_;
	int b_;
	int c_;
};

如果有无参数的构造函数:

MyClass(){}

那么在声明对象调用构造函数时不加参数,如:

MyClass class();

调用的是:

MyClass(){};

如果在声明对象时,写入三个参数,如:

MyClass class1(1,2,3);

那么调用的是:

MyClass(int a = 0, int b = 0,int c=0)

如果没有无参数的默认构造函数,那么在不加参数的情况下,调用的是:

MyClass(int a = 0, int b = 0,int c=0)

当三个参数都有默认值时,无论如何都不会调用(水平有限,还没有发现调用的情况):

MyClass(int a, int b)

来构造对象。

关于C++构造函数

标签:写入   参数   对象   多个   情况   默认   构造   cto   默认值   

原文地址:http://www.cnblogs.com/hblearning/p/6761033.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!