ホームに戻る
クラスのサンプル(球クラス)
/*
*
* クラスのサンプル(球クラス)
*
* 球の半径、表面積、体積をメンバ変数に持ち、
* 半径値から各値を設定、各値を取得できるメンバ関数を持つクラス
*
*/
#ifndef __SPHERE_CPP__
#define __SPHERE_CPP__
#include <iostream>
class SPHERE{
double radius;
double area;
double volume;
double calcArea(const double &r){return (r * r * SPHERE::pai * 4.0);}
double calcVolume(const double &r){return (r * r * r * SPHERE::pai * 4.0 / 3.0);}
static const double pai;
public:
SPHERE(double r = 1.0) :
radius(r), area(calcArea(r)), volume(calcVolume(r)){};
void setRadius(const double &r){this-> radius = r; calcArea(r); calcVolume(r);}
const double &getRadius() const {return radius;}
const double &getArea() const {return area;}
const double &getVolume() const {return volume;}
};
#endif // __SPHERE_CPP__
const double SPHERE::pai = 3.14159;
using namespace std;
void print(const SPHERE &s){
cout << s.getRadius() << endl;
cout << s.getArea() << endl;
cout << s.getVolume() << endl;
}
int main(){
SPHERE s(2.0);
print(s);
return 0;
}
結果
2
50.2654
33.5103