オブジェクトcube1のメンバ変数に格納されている数値データをオブジェクトcube1のメンバ関数を通して変更することができます。

#include <iostream>


using namespace std;


class Cube{


public:

int no;

float tate;

float yoko;

float takasa;

void display(int e);

/*🌞🌞🌞👆

ここの部分がvoid display(); からvoid display(int a,int b,int c, int d);

に変更されています🌞🌞🌞*/

};


void Cube::display(int e) {


cout<<"今日の立方体は" <<e<<"円になります"<< "\n";


}


/*👆クラスCubeのメンバ関数となっている自作関数display(int e)の定義をおこなっています*/


int main() {


Cube cube1;


//👆cube1のクラスCube型のオブジェクト宣言をおこなっています


cube1.no = 1;

cube1.tate = 2.0;

cube1.yoko = 3.0;

cube1.takasa = 4.0;


cube1.display(100);//👈引数に数値データを代入しました


return 0;

}


ビルド実行結果


今日の立方体は100円になります


マックス「やったな!


クラスCubeのメンバ関数displayの定義の


引数に


変数宣言

int e


をもちいて


オブジェクトcube1のメンバ関数


cube1.display(100);


を実行することができたじゃないか


着実に進んでるじゃないか。(*^▽^*)」


てんC「


cube1のオブジェクト宣言


Cube cube1;


が実行されると


オブジェクトcube1のメンバ変数


cube1.no

cube1.tate

cube1.yoko

cube1.takasa


オブジェクトcube1のメンバ関数


cube1.display(int e)


が生成されます


そして


int e


100

が代入された


cube1.display(100);


が実行されるとき


クラスCubeのメンバ関数displayの定義内の命令文が実行されることになります


そのとき


もし


クラスCubeのメンバ変数

no

tate

yoko

takasa



クラスCubeのメンバ関数displayの定義内で使用されていれば


クラスCubeのメンバ変数

no

tate

yoko

takasa


オブジェクトcube1のメンバ変数

cube1.no

cube1.tate

cube1.yoko

cube1.takasa


を表すことになりますが


クラスCubeのメンバ関数displayの定義

👇

void Cube::display(int e) {


cout<<"今日の立方体は" <<e<<"円になります"<< "\n";


}


👆

内で


クラスCubeのメンバ変数

no

tate

yoko

takasa

は用いられていません。


ですので


オブジェクトcube1のメンバ関数


cube1.display(100);


が実行されるとき


e

100

が代入された


cout<<"今日の立方体は" <<100<<"円になります"<< "\n";



そのまま実行されることになります


オブジェクトcube1のメンバ変数

cube1.no

cube1.tate

cube1.yoko

cube1.takasa


は関係してこないことになりますね」


マックス「


cube1.display(100)は


オブジェクトcube1のメンバ関数なんだが


オブジェクトcube1のメンバ変数


cube1.no

cube1.tate

cube1.yoko

cube1.takasa


は関係してこないことになるってことか



メンバ関数の定義に必ずしも


メンバ変数がもちいられていなくてもいいってわけだ



てんC「そうなんです マックスさん😊」



ソーラー「えへへ(´▽`*)


そして


次のプログラムを


ご覧ください。」


マックス「なんだ なんだ」


てんC「はい (´▽`*) ソーラーさん」


ソーラー「このプログラムでは


クラスcubeのメンバ関数displayの定義を



void Cube::display(int a, float b, float c, float d) {


no = a;

tate = b;

yoko = c;

takasa = d;


cout << "立方体につけられたナンバーは" << no << "です" << "\n";

cout << "立方体の縦の長さは" << tate << "です" << "\n";

cout << "立方体の横の長さは" << yoko << "です" << "\n";

cout << "立方体の高さの長さは" << takasa << "です" << "\n";


}


と設定してみました




#include <iostream>


using namespace std;


class Cube{


public:

int no;

float tate;

float yoko;

float takasa;

void display(int a, float b, float c, float d);


};

void Cube::display(int a, float b, float c, float d) {


no = a;

tate = b;

yoko = c;

takasa = d;


cout << "立方体につけられたナンバーは" << no << "です" << "\n";

cout << "立方体の縦の長さは" << tate << "です" << "\n";

cout << "立方体の横の長さは" << yoko << "です" << "\n";

cout << "立方体の高さの長さは" << takasa << "です" << "\n";


}


//👆クラスCubeのメンバ関数displayの定義をおこなっています


/*🌞🌞🌞ここでの注目ポイントはクラスCubeのメンバ関数displayの定義で


no = a;

tate = b;

yoko = c;

takasa = d;


が実行されていることです


Cube cube1;


の実行により


オブジェクトcube1のメンバ変数


cube1.no

cube1.tate

cube1.yoko

cube1.takasa


オブジェクトcube1のメンバ関数

cube1.display(int a, float b, float c, float d)

が作製されます


クラスCubeのメンバ関数displayの引数となっている


int a

float b

float c

float d

5

6.0

7.0

8.0

が代入された


オブジェクトcube1のメンバ関数


cube1.display(5,6.0,7.0,8.0);


が実行されると


no = a;

tate = b;

yoko = c;

takasa = d;

が実行されることになり


no

tate

yoko

takasa

オブジェクトcube1のメンバ変数

cube1.no

cube1.tate

cube1.yoko

cube1.takasa

を表しているので


オブジェクトcube1のメンバ変数

cube1.no

cube1.tate

cube1.yoko

cube1.takasa

格納されている数値データは

変数

a

b

c

d

に格納されている数値データ

5

6.0

7.0

8.0

に変更されることになります。

🌞🌞🌞*/



int main() {


Cube cube1;


//👆cube1のクラスCube型のオブジェクト宣言をおこなっています


cube1.no = 1;

cube1.tate = 2.0;

cube1.yoko = 3.0;

cube1.takasa = 4.0;


cout << "立方体につけられたナンバーは" << cube1.no << "です" << "\n";

cout << "立方体の縦の長さは" << cube1.tate << "です" << "\n";

cout << "立方体の横の長さは" << cube1.yoko << "です" << "\n";

cout << "立方体の高さの長さは" << cube1.takasa << "です" << "\n";




cube1.display(5,6.0,7.0,8.0);


cout << "立方体につけられたナンバーは" << cube1.no << "です" << "\n";

cout << "立方体の縦の長さは" << cube1.tate << "です" << "\n";

cout << "立方体の横の長さは" << cube1.yoko << "です" << "\n";

cout << "立方体の高さの長さは" << cube1.takasa << "です" << "\n";


return 0;

}


ビルド実行結果


立方体につけられたナンバーは1です

立方体の縦の長さは2です

立方体の横の長さは3です

立方体の高さの長さは4です

立方体につけられたナンバーは5です

立方体の縦の長さは6です

立方体の横の長さは7です

立方体の高さの長さは8です

立方体につけられたナンバーは5です

立方体の縦の長さは6です

立方体の横の長さは7です

立方体の高さの長さは8です


ソーラー「すごいと 思わない?


なんでかというと


オブジェクトcube1のメンバ変数

cube1.no

cube1.tate

cube1.yoko

cube1.takasa

格納されている数値データは


最初

cube1.no = 1;

cube1.tate = 2.0;

cube1.yoko = 3.0;

cube1.takasa = 4.0;


が実行されていることにより


1

2.0

3.0

4.0


なんだけど


cube1.display(5,6.0,7.0,8.0);


が実行されると


オブジェクトcube1のメンバ変数


cube1.no

cube1.tate

cube1.yoko

cube1.takasa


格納されている数値データは


1

2.0

3.0

4.0

から

5

6.0

7.0

8.0


に変更されるんだよ



cube1.display(5,6.0,7.0,8.0);

が実行されると


クラスCubeのメンバ関数displayの定義

👇

void Cube::display(int a, int b, int c, int d) {


no = a;

tate = b;

yoko = c;

takasa = d;


cout << "立方体につけられたナンバーは" << no << "です" << "\n";

cout << "立方体の縦の長さは" << tate << "です" << "\n";

cout << "立方体の横の長さは" << yoko << "です" << "\n";

cout << "立方体の高さの長さは" << takasa << "です" << "\n";


}



no = a;

tate = b;

yoko = c;

takasa = d;


cout << "立方体につけられたナンバーは" << no << "です" << "\n";

cout << "立方体の縦の長さは" << tate << "です" << "\n";

cout << "立方体の横の長さは" << yoko << "です" << "\n";

cout << "立方体の高さの長さは" << takasa << "です" << "\n";



が実行されるんだ。


no

tate

yoko

takasa



オブジェクトcube1のメンバ変数

cube1.no

cube1.tate

cube1.yoko

cube1.takasa

をあらわしているので


cube1.no= a;

cube1.tate = b;

cube1.yoko = c;

cube1.takasa = d;


cout << "立方体につけられたナンバーは" << cube1.no << "です" << "\n";

cout << "立方体の縦の長さは" << cube1.tate << "です" << "\n";

cout << "立方体の横の長さは" << cube1.yoko << "です" << "\n";

cout << "立方体の高さの長さは" << cube1.takasa << "です" << "\n";


が実行されることになるね



a

b

c

d


には


5

6.0

7.0

8.0



代入されるので



オブジェクトcube1のメンバ変数

cube1.no

cube1.tate

cube1.yoko

cube1.takasa

格納されている数値データは


1

2.0

3.0

4.0

から


変数

a

b

c

d

に格納されている数値データ

5

6.0

7.0

8.0

に変更され


立方体につけられたナンバーは5です

立方体の縦の長さは6です

立方体の横の長さは7です

立方体の高さの長さは8です


が表示されるというわけなんだね




つまり



main関数内で



             cube1.no=5;

             cube1.tate=6.0;

             cube1.yoko =7.0;

             cube1.takasa=8.0;


のように



オブジェクトcube1のメンバ変数

cube1.no

cube1.tate

cube1.yoko

cube1.takasa




                🌞直接🌞





5

6.0

7.0

8.0

を代入しなくても


オブジェクトcube1のメンバ関数


cube1.display(5,6.0,7.0,8.0);


を用いて


オブジェクトcube1のメンバ変数


cube1.no

cube1.tate

cube1.yoko

cube1.takasa



格納されている数値データを


5

6.0

7.0

8.0


に変更できるってわけなんだ」


マックス「ほほう


       🌞オブジェクトcube1のメンバ関数をつかって💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖🌞


        🌞オブジェクトcube1のメンバ変数🌞

               

             cube1.no

             cube1.tate

             cube1.yoko

             cube1.takasa


   🌞格納されている数値データを変更することができる🌞



ってわけだ」








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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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