【c++程序】匿名对象

/********************************************************/
/**************---About   匿名对象-------**************/
/**************---Author: Tibruce Zhao-----**************/
/**************---Date:   2015/10/22------***************/
/********************************************************/ 

#include<iostream>
#include<string>
using namespace std;

class Teacher
{
	string name;
	string course;
public:
	Teacher(const char* n,const char*c):name(n),course(c){
		cout<<"Creating "<<course<<"'s teacher is "<<name<<endl;
	}
	Teacher(const Teacher& t):name(t.name),course(t.course){
		cout<<"Coping "<<course<<"'s teacher is "<<name<<endl;
	}
	~Teacher(){
		cout<<"Dismissing "<<course<<"'s teacher is "<<name<<endl;
	}

};
int main()
{
	Teacher t1("Mr Zhao","C++");
	Teacher t2=t1;//初始化
	Teacher t3=Teacher("Ms Wang","Matlab");//用临时对象来初始化一个新对象,编译器一般会优化成直接用创建临时对象的参数来创建新对象。
	t2=t3;//不会调用构造函数,因为没有创建新对象,赋值
	t2=Teacher("Ms Li","Consult");//赋值,临时对象会立即释放
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值