c++创建无名临时对象实例

c++创建无名临时对象实例,operator是c++关键字函数名,与普通重载数相同,c++已定义运算符的类型。

#include
using namespace std;
class num
{
public :
num(){n=1;cout<<”构造函数执行!\n”;}
num(int i){n=i;cout<<”带参数的构造函数执行!\n”;}//带参数的构造函数
~num(){cout<<”析构函数执行!\n”;}
int get()const{return n;}
void set(int x){n=x;}
void add(){++n;}//定义自加函数
num operator ++(){//operator是c++关键字函数名,与普通重载数相同,c++已定义运算符的类型,其后的++表示重载的是自加运算符,{}里面的是实现部分
++n;

return num(n);//返回无名对象
}
private:
int n;
};
int main()
{
num i;
//i.add();//调用成员函数实现自加
num y=++i;//对对象i自加也就是对成员n自加,然后返回的临时对象赋值给对象y
cout<<”y:”<<y.get()<<endl;
//y++;这是错的因为i是对象,并没有自加运算
return 0;
} 本文链接地址: c++创建无名临时对象实例