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

遇到一个奇怪的有关问题

2012-02-06 
遇到一个奇怪的问题练习c++编程时,在vc++6.0上输入了一段小程序,出现了一个奇怪的问题,程序中标记了两处,1

遇到一个奇怪的问题
练习c++编程时,在vc++6.0上输入了一段小程序,出现了一个奇怪的问题,
程序中标记了两处,
1是函数gety的声明语句,
2是函数gety的实现语句,
当我在类的内部实现(把标记2处语句注释掉,标记1的分号和注释符号删除)该函数时,编译正常,
当我在类外实现该函数时,编译就出错,

代码如下:
#include   <iostream.h>
class   point
{
public:
int   gety();//{return   y;}//(问题就在这里!!!!         1     )
point(int   xx=0,int   yy=0){x=xx;y=yy;}
point(point   &p){x=p.x;y=p.y;cout < < "copy!! " < <endl;}
~point(){cout < < "disposed!! " < <endl;}
int   getx(){return   x;}


private:
int   x,y;
}
int   point::gety(void){return   y;}//(问题就在这里!!!!             2       )
main()
{
point   p1(3,4);
point   p2(p1);
cout < < "p1   de   x   zuo   biao: " < <p1.getx() < < "p1   de   y   zuo   biao: " < <p1.gety() < <endl;
cout < < "p2   de   x   zuo   biao: " < <p2.getx() < < "p2   de   y   zuo   biao: " < <p2.gety() < <endl;
}

[解决办法]
class point
{
public:
int gety();//{return y;}//(问题就在这里!!!! 1 )
point(int xx=0,int yy=0){x=xx;y=yy;}
point(point &p){x=p.x;y=p.y;cout < < "copy!! " < <endl;}
~point(){cout < < "disposed!! " < <endl;}
int getx(){return x;}


private:
int x,y;
};

你类定义后没有 ; 号
[解决办法]
int gety();//{return y;}//(问题就在这里!!!! 1 )
-------------------
这里就不应该有分号啊
[解决办法]
根据编译器提示找出来就行了~
[解决办法]
int gety();//函数声明
int gety(){return y;}//函数声明,定义在一起,且是内联的

热点排行