您的位置:首页 > 编程语言 > C语言/C++

【c++程序】匿名对象

2015-10-22 21:17 330 查看
/********************************************************/
/**************---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;
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: