c++的类对象的问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 07:35:59
#include <iostream.h>
class Q
{
int x,y;
public:
Q(int a=0,int b=0)
{
x=a;y=b;cout<<x<<'\t'<<y<<'\n';
}

~Q()
{
cout<<"调用析构函数\n";
}
};
void main()
{

Q (10,20);

}
执行Q (10,20);会生成一个无名对象。
#include <iostream.h>
void main()
{
int(3);
}
那执行int (3)它会生成临时的变量吗???还是执行强制转换??

那执行int (3)它会生成临时的变量吗???还是执行强制转换??
会 当然也是没有名字的 int a(3)这种形式不陌生吧 就是定义变量a 然后把3复制给他. 并不是强制转换 ,你没有定义 类型转换函数 所以也不会转换成类或其它类型. (int ) 3.5 就会强制转换为 整形

直接强制转换。

int是内定类型。而不是类库里的。所以执行的应该是强制转换