🌞main関数内で🌞変数宣言された変数を🌞main関数の外で定義された🌞クラスのメンバ関数の引数に代入すると変数の格納しているデータだけが💖値渡し💖されることになります

クラスのメンバ関数の引数にクラスのメンバ変数ではない変数を設定してみよう。 その1

#include <iostream>


using namespace std;


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";


}



int main() {


Cube cube1;


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


cube1.no = 1;

cube1.tate = 2.0;

cube1.yoko = 3.0;

cube1.takasa = 4.0;


cube1.display();


return 0;

}


プログラムの実行結果


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

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

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

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


マックス「このプログラムでは


Cubeのクラス宣言内で


メンバ関数宣言


void display();


が記述されているだろう。


この


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


void Cube::display() {


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

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

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

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


}


となっている。


クラスCube型のオブジェクト宣言


Cube cube1;


を実行して


クラスCube型のオブジェクトcube1のメンバ変数


cube1.no

cube1.tate

cube1.yoko

cube1.takasa


クラスCube型のオブジェクトcube1のメンバ関数


cube1.display()


を作製した後


cube1.no = 1;

cube1.tate = 2.0;

cube1.yoko = 3.0;

cube1.takasa = 4.0;


が実行されて


クラスCube型のオブジェクトcube1のメンバ関数


cube1.display();


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



cube1.display();



main関数内で実行されるとき


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

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

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

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


が実行されるわけだが


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


変数

no

tate

yoko

takasa



クラスCube型のオブジェクトcube1のメンバ変数


cube1.no

cube1.tate

cube1.yoko

cube1.takasa


を表すことになり


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

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

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

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


が実行される。


クラスCube型のオブジェクトcube1のメンバ変数


cube1.no

cube1.tate

cube1.yoko

cube1.takasa


には

数値データ


1

2.0

3.0

4.0


が代入されているので


プログラムの実行結果は


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

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

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

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


となるわけだ。」




てんC「そうですね。マックスさん


cube1.display()


には


引数が


cube1.display( int no,float tate, float yoko, float takasa )


のように


設定されていませんが



cube1.display();


が実行されると


自作関数display()の定義


void Cube::display() {


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

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

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

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


}



no

tate

yoko

takasa



クラスCube型のオブジェクトcube1のメンバ変数


cube1.no

cube1.tate

cube1.yoko

cube1.takasa


が代入された



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

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

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

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


が実行されることになります。



マックス「ところで


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


void Cube::display(int e) {


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


}


のように


引数として


int e


を使用することはできるのか?」


ソーラー「??」





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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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