【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) 展开
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) 展开
展开全部
#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带参构造函数
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带参构造函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询