首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请大家帮小弟我改一个简单的C++程序,多谢啦

2012-04-18 
请大家帮我改一个简单的C++程序,谢谢啦。# includeiostreamusing namespace stdclass TPoint{public:TPo

请大家帮我改一个简单的C++程序,谢谢啦。
# include<iostream>
using namespace std;
class TPoint
{
public:
TPoint(int x,int y){X=x;Y=y;}
TPoint(TPoint &p);
~TPoint(){cout<<"Destructor is called\n";}
int getx(){return X;}
int gety(){return Y;}
private:
int X,Y;
};
TPoint::TPoint(TPoint &p)
{
X=p.X;
Y=p.Y;
cout<<"cout_initialization Constructor is called\n";
}
int main()
{
TPoint p1(4,9);
TPoint p2(p1);
TPoint p3=p2;
TPoint p4,p5(2);
cout<<"p3=("<<p3.getx()<<","<<p3.gety()<<")\n";
return 0;
},这个程序的构造函数怎么改一下就可以顺利运行了?我改了好多次都不能运行。

[解决办法]

C/C++ code
# include<iostream>using namespace std;class TPoint{public:    TPoint(int x,int y){X=x;Y=y;}    TPoint(int x){X=x;Y=x;}    TPoint(){}    TPoint(TPoint &p);    ~TPoint(){cout<<"Destructor is called\n";}    int getx(){return X;}    int gety(){return Y;}private:    int X,Y;};TPoint::TPoint(TPoint &p){    X=p.X;    Y=p.Y;    cout<<"cout_initialization Constructor is called\n";}int main(){    TPoint p1(4,9);    TPoint p2(p1);    TPoint p3=p2;    TPoint p4,p5(2);   //p4 这个没默认构造函数,p5(2)没以参数为1个的构造函数,添加了这两个就好了。    cout<<"p3=("<<p3.getx()<<","<<p3.gety()<<")\n";    return 0;}
[解决办法]
探讨

# include<iostream>
using namespace std;
class TPoint
{
public:
TPoint();
TPoint(int n){n=X;}
TPoint(int x,int y){X=x;Y=y;}
TPoint(TPoint &amp;p);
~TPoint(){cout<<"Destructor is called\n";}
……

[解决办法]
这个更好,建议LZ这样写默认构造函数。

C/C++ code
# include<iostream>using namespace std;class TPoint{public:    TPoint(int x = 0,int y = 0){X=x;Y=y;}    TPoint(TPoint &p);    ~TPoint(){cout<<"Destructor is called\n";}    int getx(){return X;}    int gety(){return Y;}private:    int X,Y;};TPoint::TPoint(TPoint &p){    X=p.X;    Y=p.Y;    cout<<"cout_initialization Constructor is called\n";}int main(){    TPoint p1(4,9);    TPoint p2(p1);    TPoint p3=p2;    TPoint p4,p5(2);    cout<<"p3=("<<p3.getx()<<","<<p3.gety()<<")\n";    return 0;} 

热点排行