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

类的成员函数参数定义为类的对象(匿名对象)

2013-10-21 20:17 288 查看
class myclass
{
public:
myclass(int a)
{
cout<<a<<"Constructor!"<<endl;
x=a;
}
void show(myclass my)
{
cout<<"Function:x="<<my.x<<endl;
}
~myclass()
{
cout<<x<<"Deatructor!"<<endl;
}
private:
int x;
};

void main()
{
myclass my(5);
my.show(10);
}


如果类的成员函数参数定义为类的对象,而实际调用该成员函数时,没有给出类的对象,则编译器会把参数自动根据类的构造函数转化为类对象。但是,如果类中没有相应的构造函数,则会出错。

此题编译器会调用构造函数产生匿名对象,在调用成员函数show(),产生匿名对象的同时,也会调用类的构造函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ 匿名对象