8.1构造函数的分类及调用

什么是无参构造函数

#include<iostream>
using namespace std;

class Test2
{
public:
	Test2()//无参构造函数,括号里没有任何参数
	{
		m_a = 0;//加断点调试
		m_b = 0;
		cout<<"无参构造函数"<<endl;
	}
public:
	void printT()
	{

	}

protected:
private:
	int m_a;
	int m_b;
};

int main()
{

	Test2 t1;//什么都不写调用的是   无参构造函数,加断点调试

	system("pause");
	return 0;
}
什么是有参调用函数以及有参构造函数的三种调用方法

#include<iostream>
using namespace std;

class Test2
{
public:
	Test2(int a)//一个参数构造函数
	{
		m_a = 0;
		m_b = 0;
		cout<<"一个参数构造函数"<<endl;
	}

	Test2(int a,int b)//有参构造函数
	{
		m_a = 0;
		m_b = 0;
		cout<<"有参构造函数"<<endl;
	}

	Test2(const Test2& obj)////赋值构造函数,(copy构造函数)
	{
		cout<<"我也是构造函数"<<endl;
	}
public:
	void printT()
	{

	}

protected:
private:
	int m_a;
	int m_b;
};
//调用有参构造函数的三种方法
int main()
{
	//(1):第一种方法:括号法
	Test2 t1(1,2);//调用有参构造函数---要加参数  c++编译器帮我们自动的调用构造函数(调用的是两个参数的构造函数)
	//(2)等号法
	//逗号表达式:如果有逗号,最后一个值是最后的值
	Test2 t2 = (3,4);// ”=“  c++对等号操作符增强   c++编译器帮我们自动的调用构造函数(调用的是一个参数的构造函数)
	Test2 t3 = 5;
	//(3)直接调用构造函数 手动的调用构造函数
	Test2 t4 = Test2(1,2);//匿名对象  (匿名对象的去和留)
	system("pause");
	return 0;
}




发布了33 篇原创文章 · 获赞 2 · 访问量 8538

猜你喜欢

转载自blog.csdn.net/QQ960054653/article/details/54799069
今日推荐