关于C++构造函数

2018-06-17 22:42:23来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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

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)

来构造对象。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:2017 五一 清北学堂 Day1模拟考试结题报告

下一篇:1230 元素查找