读书人

C++:菜鸟这段代码有错哪位高手能解

发布时间: 2012-09-10 11:02:32 作者: rapoo

C++:初学者,这段代码有错,谁能解释下出错的原因

C/C++ code
#include <iostream>using namespace std;class Circle{public:    Circle(double radius = 0){        Pi =3.14;        this->radius = radius;    }     double getArea(){        return Pi* radius* radius;    }    double getCircumference(){        return 2*Pi* radius;    }private:    const double Pi ;    double radius ;    };  int main(int argc, char *argv[]){    cout << "Enter a radius: ";double Radius = 0;cin >> Radius;Circle MyCircle(Radius);cout << "Circumference = " << MyCircle.getCircumference() << endl;cout << "Area = " << MyCircle.getArea() << endl;    return 0;}

这段代码有错,谁能解释下出错的原因

[解决办法]
const成员初始化要用初始化列表

C/C++ code
class Circle{public:    Circle(double radius = 0):Pi(3.14){        //Pi =3.14;        this->radius = radius;    }     double getArea(){        return Pi* radius* radius;    }    double getCircumference(){        return 2*Pi* radius;    }private:    const double Pi ;    double radius ;}; 

读书人网 >C++

热点推荐