🌻天国にいけるC++言語入門🌻 進化し続けるオブジェクト指向プログラミング ver3.2307
クラスの鑑賞会を実施しています その2 クラスのメンバ変数宣言はクラスのメンバ関数の定義内でも有効になっています
クラスの鑑賞会を実施しています その2 クラスのメンバ変数宣言はクラスのメンバ関数の定義内でも有効になっています
つづきです
かっぽ~~~ん
ソーラー「
ところで
次のような基本的な
Cubeのクラス宣言とCubeのメンバ関数display()の定義を
ちょっとだけ観察してみようよ」
マックス「いいじゃないか
もう大体の仕組みはわかったからな
もう余裕だな
さて
Cubeのクラス宣言とクラスCubeのメンバ関数display()の定義を
よくみればいいのか?
ほおう どれどれ
」
Cubeのクラス宣言
👇
class Cube {
public: // (アクセス指定子)
int no; //変数noはクラスCubeのメンバ変数とよばれます
float tate; //変数tateはクラスCubeのメンバ変数とよばれます
float yoko; //変数yokoはクラスCubeのメンバ変数とよばれます
float takasa; //変数takasaはクラスCubeのメンバ変数とよばれます
void display(); //自作関数display()はクラスCubeのメンバ関数とよばれます
};
と
void Cube::display() {
cout << "立方体につけられたナンバーは" << no << "です" << "\n";
cout << "立方体の縦の長さは" << tate << "です" << "\n";
cout << "立方体の横の長さは" << yoko << "です" << "\n";
cout << "立方体の高さの長さは" << takasa << "です" << "\n";
}
か・・・
」
マックス
「・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・もしかして?
!?!?!?
!!!!!!!
Cubeのクラス宣言
で
すでに
変数宣言
int no;
float tate;
float yoko;
float takasa;
が実行されている。
だから
Cubeのクラス宣言内のメンバ関数display()の定義を
void Cube::display() {
int no;
float tate;
float yoko;
float takasa;
cout << "立方体につけられたナンバーは" << no << "です" << "\n";
cout << "立方体の縦の長さは" << tate << "です" << "\n";
cout << "立方体の横の長さは" << yoko << "です" << "\n";
cout << "立方体の高さの長さは" << takasa << "です" << "\n";
}
のようにすることなくスリムに
void Cube::display() {
cout << "立方体につけられたナンバーは" << no << "です" << "\n";
cout << "立方体の縦の長さは" << tate << "です" << "\n";
cout << "立方体の横の長さは" << yoko << "です" << "\n";
cout << "立方体の高さの長さは" << takasa << "です" << "\n";
}
としているんじゃないか?
(そうなんです そしてCube::がdisplay()にくっついているからこそ
クラスCubeのメンバ関数display()の定義内で
クラスCubeのメンバ変数を使用することができるように
なるんです
solarplexussより)
となると
ついでに
クラスCubeのブロック{}内のメンバ関数宣言
void display();
も
void display(int no,float tate,float yoko,float takasa);
と記述しなくてもいいようになるってわけじゃないか
そのことを考えて
C++言語の作者はクラス宣言を設定しているんじゃないか?
つまり
Cubeのクラス宣言
で
すでに
変数宣言
int no;
float tate;
float yoko;
float takasa;
が実行されているから
ついでに
自作関数displayの定義も
void Cube::display(int no,float tate,float yoko,float takasa) {
cout << "立方体につけられたナンバーは" << no << "です" << "\n";
cout << "立方体の縦の長さは" << tate << "です" << "\n";
cout << "立方体の横の長さは" << yoko << "です" << "\n";
cout << "立方体の高さの長さは" << takasa << "です" << "\n";
}
では
記述が長すぎるので
void Cube::display() {
cout << "立方体につけられたナンバーは" << no << "です" << "\n";
cout << "立方体の縦の長さは" << tate << "です" << "\n";
cout << "立方体の横の長さは" << yoko << "です" << "\n";
cout << "立方体の高さの長さは" << takasa << "です" << "\n";
}
と記述するよう
C++言語の作者は設定したんじゃないかな?」
てんC「楽しいですね。
想像力がかきたてられますね。
C++言語の作者さんの心情がうかがわれますね。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます