【C++】关于构造函数和析构函数的问题

#include<iostream>usingnamespacestd;classSample{intx,y;public:Sample(){x=y=0;}Sample(... #include <iostream>
using namespace std;
class Sample{
int x,y;
public:
Sample(){x=y=0;}
Sample(int a,b){x=a,y=b;}
~Sample(){
if(x==y)
cout<<"x=y"<<endl;
else cout<<"x!=y"<<endl;
};
void disp()
{cout<<"X="<<x<<",y="<<y<<endl;}
};
void main(void){
Sample s1(2,3),*p=&s1;
s1.disp();
p->disp();
}
这个程序在VC里无法运行,有哪位大神解析一下这段代码然后告诉我为毛不能运行?
以下是VC的错误提示
D:\Program Files\Microsoft Visual Studio\MyProjects\test\构造函数.cpp(7) : error C2629: unexpected 'class Sample ('
D:\Program Files\Microsoft Visual Studio\MyProjects\test\构造函数.cpp(7) : error C2334: unexpected token(s) preceding '{'; skipping apparent function body
D:\Program Files\Microsoft Visual Studio\MyProjects\test\构造函数.cpp(17) : error C2661: 'Sample::Sample' : no overloaded function takes 2 parameters
执行 cl.exe 时出错.

构造函数.obj - 1 error(s), 0 warning(s)
展开
 我来答
祜风
2013-01-07 · TA获得超过226个赞
知道小有建树答主
回答量:313
采纳率:100%
帮助的人:131万
展开全部
#include <iostream>
using namespace std;
class Sample
{ int x,y;
public:
Sample(){x=y=0;}
Sample(int a,int b){x=a,y=b;}
~Sample()
{ if(x==y)
cout<<"x=y"<<endl;
else cout<<"x!=y"<<endl;
}
void disp()
{
cout<<"X="<<x<<",y="<<y<<endl;
}
};
void main(void)
{
Sample s1(2,3),*p=&s1;
s1.disp();
p->disp();
}
程序调用的是Sample带参构造函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
veket的小号
2013-01-07 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3939万
展开全部
Sample(int a,b){x=a,y=b;} b前少个int
追问
哎?真的是!这样就可以运行了,怎么回事啊?还有就是可不可以讲一下这个代码的运行流程?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式