2 回答

TA貢獻(xiàn)1780條經(jīng)驗 獲得超1個贊
正確的程序為:
#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 ="<<rect.getArea()<<"\n";
return 0;
}
在類定義外定義函數(shù)時需在類內(nèi)做函數(shù)聲明。
另void rectangle::assign(double len,double wide) 類聲明重復(fù),這里rectangle是定義的類,是你需要的,所以void不要。還有main( )前必須有類聲明,這里為int。

TA貢獻(xiàn)2039條經(jīng)驗 獲得超8個贊
將
void rectangle::assign(double len,double wide)
{
length=len;width=wide;
}
改為:
inline void rectangle::assign(double len,double wide)
{
length=len;width=wide;
}
試試
加上inline的意思是:將rectangle函數(shù)作為類的內(nèi)聯(lián)函數(shù)
- 2 回答
- 0 關(guān)注
- 973 瀏覽
添加回答
舉報