// ( r8.C ) // クラス定義の基本−その2 // #include class Circle { // radius 変数は、外からは直接見ることはできない。 int radius; // 関数 get_radius() によってのみ見ることができる。 public: Circle( int i=10 ) { // int i=10 をデフォルト引数と言う radius = i ; cout << "Radius = " << radius << "\n" ; } int get_radius() { return radius ; } } ; int sum( int i,int j ) { return( i+j ) ; } main() { Circle C1 ; // デフォルトの値をとって半径10の円 Circle C2(3) ; // 半径3の円 Circle C3 = 1; // 半径1の円 Circle C4 = sum(4,3); // 半径7の円になる cout << "C2 radius = " << C2.get_radius() << "\n" ; // cout << C2.radius << "\n" ; これは出来ない、radius を public 宣言するとできるが } /* [結果] Radius = 10 Radius = 3 Radius = 1 Radius = 7 C2 radius = 3 [注意] コンストラクタを次のようには定義できない Circle( void ) { radius = 0 ; } これらは引数が無い場合、同じ意味になる。Circle(void) Circle( int i=10 ) { radius = i ; } を活かすなら、下の定義を Circle( int i ) とする。 [参考] クラス変数の初期化のテクニック class Circle { int radius; public: Circle():radius(9) {} この方法は何となく分かりにくい気がする? Circle(int r):radius(r) {} } ; */