遇到一个奇怪的问题
练习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;}//函数声明,定义在一起,且是内联的