构造函数

#include <iostream>
#include <windows.h>
#include <cstring>
using namespace std;
/*********************************************************************/
//有参无参的使用和作用介绍
class Text
{
public:
	Text()		//无参数 构造函数
	{			//作用:完成对属性的初始化工作
		a = 10;
		p =NULL;
		cout << "我是构造函数 被执行了" << endl;
	}
	void Cout()
	{
		cout << p << endl;
		cout << a << endl;
	}
	~Text()		//析构函数
	{	//释放内存空间
		if (p != NULL)
		{
			free(p);
		}
		cout << "我是析构函数 被执行了" << endl;
	}


protected:
private:
	int  a;
	char *p;
};
//给对象搭建一个舞台,研究对象的行为
void objpaly()
{
	//先构造,后稀释
	//先执行t1的构造函数,再执行t2的构造函数,然后结束时先执行t2的析构函数,再执行t1的析构函数
	Text t1;
	t1.Cout();
	Text t2;
	t2.Cout();
}


int main1()
{
	objpaly();
	system("pause");
	return 0;
}
/************************************************************************************/
//调用有参数构造函数的 3 种方法
class Text2
{
public:
	Text2()		//无参数 构造函数
	{			//作用:完成对属性的初始化工作
		m_a = 0;
		m_b = 0;
		cout << "无参数 构造函数" << endl;
	}
	Text2(int a)		//有参数 构造函数
	{			//作用:完成对属性的初始化工作
		m_a = a;
		cout << "111有参数 构造函数" << endl;
		cout << "a=" << m_a << endl;
	}
	Text2(int a, int b)		//有参数 构造函数
	{			//作用:完成对属性的初始化工作
		m_a = a;
		m_b = b;
		cout << "222有参数 构造函数" << endl;
	}


	//赋值构造函数(也称copy构造函数)//用一个构造函数去调用另一个构造函数
	Text2(const Text2& obj)
	{
		cout << "我也是构造函数" << endl;
	}
public:
	void Printf()
	{
		cout << "普通成员函数" << endl;
	}


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


int main05()
{
	Text2 t1;		//	这样写直接调用 无参数构造函数 C++自动的调用构造函数
					//1   () 法调用有参数函数
	Text2 t2(1, 2);	//调用有参数函数	C++自动的调用构造函数
	Text2 t3(1);
	t2.Printf();


	//2  = 法调用有参数构造函数
	Text2 t4 = (1, 2, 3, 4);	//C++对 = 进行了功能增强,逗号表达式的最后的值是参数的值
	Text2 t5 = 5;


	//3 手工直接的调用构造函数
	Text2 t6 = Text2(1, 2);	//先调用有参数构造函数,再通过有参构造函数去调用copy构造函数	
	Text2 t7 = Text2(1);		//产生匿名对象,(匿名对象的额去和留)
								//t7对象的初始化
	t1 = t7;					//赋值操作,把t7copy给t1
	system("pause");
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Hwang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值