クラスの鑑賞会を実施しています  その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++言語の作者さんの心情がうかがわれますね。」

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る