请编程高手指点下 这段代码为什么不能被编译c++,哪写错了,谢谢....

来源:百度知道 编辑:UC知道 时间:2024/08/21 16:19:13
#include<iostream.h>
class Q
{
private:
int x,y;
public:
Q(int a=0,int b=0){x=a;y=b}
void p(void)
{
cout<<x<<'\t'<<y<<'\n';
}
~Q()
{
cout<<"调用了析构函数!"<<'\n';
}
}
void main(void)
{
Q q(50,100);
q.p();
cout<<"退出主函数!\n";
}
我的vc++6.0 为什么类都不能被编译呢

#include<iostream>
using namespace std;
class Q
{
private:
int x,y;
public:
Q(int a=0,int b=0){x=a;y=b;}
void p(void)
{
cout<<x<<'\t'<<y<<'\n';
}
~Q()
{
cout<<"调用了析构函数!"<<'\n';
}
} ;
void main(void)
{
Q q(50,100);
q.p();
cout<<"退出主函数!\n";
}
少了两个分号!!!!!

1楼正确,少了2个分号
1个在构造函数里

1个是类结尾的

"Q(int a=0,int b=0){x=a;y=b} "
少了一个分号
"Q(int a=0,int b=0){x=a;y=b;} "