Ryan_Li 发表于 2020-12-19 21:58:30

成员函数返回值错误

这里a.GetPeri()为什么返回0

#include <iostream>
#include <math.h>
using namespace std;
class Shape{
public:
        virtual float GetArea(){};
        virtual float GetPeri(){};
};

class Rectangle:public Shape{
public:
        Rectangle(float w,float l): width(w),length(l){}
        float GetArea(){
                return width*length;
        }
        float GerPeri(){
                return 2*(width+length);
        }
        void p(){
                cout<<width<<endl<<length<<endl;
        }
private:
        float width;
        float length;
};
void printinfo(Shape& a){
        cout<<"面积是:"<<a.GetArea()<<endl;
        cout<<"周长是:"<<a.GetPeri()<<endl;                           //这里返回的是0
}
int main(){

        Rectangle r(10.56,20.7);
        r.p();
        printinfo(r);

}

xieglt 发表于 2020-12-19 23:49:48

把2*改成2. 0f试试。

Ryan_Li 发表于 2020-12-20 11:16:56

xieglt 发表于 2020-12-19 23:49
把2*改成2. 0f试试。

不行 还是0

xieglt 发表于 2020-12-21 08:41:15

Ryan_Li 发表于 2020-12-20 11:16
不行 还是0

函数名拼写错误
class Rectangle:public Shape{
public:
      Rectangle(float w,float l): width(w),length(l){}
      float GetArea(){
                return width*length;
      }
       //难道不应该是   GetPeri()吗?
      float GerPeri(){
                return 2*(width+length);
      }

Ryan_Li 发表于 2020-12-21 17:01:59

xieglt 发表于 2020-12-21 08:41
函数名拼写错误

呜呜呜呜呜原来如此 这种竟然不会报错
页: [1]
查看完整版本: 成员函数返回值错误