#include <iostream.h>
class Q
{
int x,y;
public:
Q(int a,int b)
{
x=a;y=b;
cout<<"调用构造函数\n";
}
~Q()
{
cout<<"调用析构函数\n";
}
};
void main()
{
Q (50,100);
}
1:为什么Q (50,100);没有写变量可以运行??
2: 在构造函数中x=a;y=b;x和y是那个对象的???
#include <iostream.h>
class Q
{
int x,y;
public:
Q(int a,int b)
{
x=a;y=b;
cout<<"调用构造函数\n";
}
~Q()
{
cout<<"调用析构函数\n";
}
};
void main()
{
Q (50,100);
}
1:为什么Q (50,100);没有写变量可以运行??
2: 在构造函数中x=a;y=b;x和y是那个对象的???
1:为什么Q (50,100);没有写变量可以运行??
2: 在构造函数中x=a;y=b;x和y是那个对象的???
答:可以运行,语法是对的,一样能构件一个函数能开辟内存空间。但这样毫无意义,像这种问题没必要追究原因。那么x=a,y=b肯定是有对象的,楼主可以在析构函数中加cout<<x<<" "<<y<<endl;在析构就能输出值。所以对一个没有指明对象的操作就像你用石头仍到一个人群中去,你不知道对象。但你知道结果肯定有人要被砸到叫~就是这个道理了。我认为在程序中给定一个对象,反正都是消耗那么多的内存空间呵呵^ ^
Q(50,100)->x=50,y=100