跪求修改:C++学private时候的程序编译时OK ,运行却错误 ,搞不定,求大神帮忙修改!
#include<iostream>using namespace std;
class Rectangle
{
public:
Rectangle()
{
r=1;r1=1;
}
Rectangle(double r2,double r3)
{
r=r2;r1=r3;
}
double Rectangle::getL()
{
return 2*(r+r1);
}
double getS()
{
return r*r1;
}
double getr();
double getr1();
void setr(double r)
{
if(r<0)
r=0;
}
void setr1(double r1)
{
if(r1<0)
r1=0;
}
private:
double r,r1;
};
int main()
{
Rectangle x1(2.5,2.5);
Rectangle x2(3.0,3.0);
Rectangle x3;
cout<<"边长为"<<x1.getr()<<"和"<<x1.getr1()<<"的周长为"<<x1.getL()<<endl;
return 0;
}
C++1.3类之初体验.obj - 0 error(s), 0 warning(s)
C++1.3类之初体验.obj : error LNK2001: unresolved external symbol "public: double __thiscall Rectangle::getr(void)" (?getr@Rectangle@@QAENXZ)
求大神帮忙求改下!!!感激不尽!
getr()声明了,但没有定义,修改:#include<iostream>
using namespace std;
class Rectangle
{
public:
Rectangle()
{
r=1;r1=1;
}
Rectangle(double r2,double r3)
{
r=r2;r1=r3;
}
double Rectangle::getL()
{
return 2*(r+r1);
}
double getS()
{
return r*r1;
}
double getr(){//你声明了,但没有定义它
return r;
}
double getr1()//同上
{
return r1;
}
void setr(double r)
{
if(r<0)
r=0;
}
void setr1(double r1)
{
if(r1<0)
r1=0;
}
private:
double r,r1;
};
int main()
{
Rectangle x1(2.5,2.5);
Rectangle x2(3.0,3.0);
Rectangle x3;
cout<<"边长为"<<x1.getr()<<"和"<<x1.getr1()<<"的周长为"<<x1.getL()<<endl;
return 0;
}
elvo 发表于 2014-4-30 11:23 static/image/common/back.gif
getr()声明了,但没有定义,修改:
无比感谢您啊!!!特别感谢
页:
[1]