学习C++一疑问(有关函数定义位置的问题)

来源:百度知道 编辑:UC知道 时间:2024/06/14 16:59:18
小弟刚刚开始学VC 在是否可以在类定义范围外定义函数碰到问题。
书上面说可以在类定义外定义函数,但是小弟用VC试验的时候 发现却不可以
程序如下:这个是书上给出的 但是运行通不过
“void rectangle::assign(double len,double wide)
{
length=len;width=wide;
}”就是要定义的函数,如果将其写在类 rectangle定义中则可以运行

程序:
#include<iostream.h>
class rectangle
{
protected:
double length;
double width;
public:
rectangle(){assign(0,0);}
rectangle(double len,double wide){assign(len,wide);}
double getLength(){return length;}
double getWidth(){return width;}
double getArea(){return length*width;}
};

void rectangle::assign(double len,double wide)
{
length=len;width=wide;
}

main()
{
rectangle rect;
double len,wide;
cout<<"enter length of rectangle:";
cin>>len;
cout<<"enter width of rectangle:";
cin>>wide;
rect.assign(len,wide);
cout<<"rectangle leng

正确的程序为:
#include<iostream.h>
class rectangle
{
protected:
double length;
double width;
public:
rectangle::assign(double len,double wide);
rectangle(){assign(0,0);}
rectangle(double len,double wide){assign(len,wide);}
double getLength(){return length;}
double getWidth(){return width;}
double getArea(){return length*width;}
};
rectangle::assign(double len,double wide)
{
length=len;width=wide;
}

int main()
{
rectangle rect;
double len,wide;
cout<<"enter length of rectangle:";
cin>>len;
cout<<"enter width of rectangle:";
cin>>wide;
rect.assign(len,wide);
cout<<"rectangle length="<<rect.getLength()<<"\n"
<<" width ="<<rect.getWidth()<<"\n"
<<" area ="<<