首页 > 编程语言 > 详细

关于C++构造函数

时间:2017-04-25 12:33:01      阅读:208      评论:0      收藏:0      [点我收藏+]

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

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++构造函数

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!