オブジェクトのメンバ配列変数に格納された数値データをオブジェクトのメンバ関数を使って表示してみます


ソーラー「ではでは


今度は


次のようなクラスInputdataのクラス宣言をご覧ください


class Inputdata{


public:


int hairetu[5];


public:


void inputdatadisplay();


};


void Inputdata::inputdatadisplay(){


cout<<hairetu[0]<<"\n";

cout<<hairetu[1]<<"\n";

cout<<hairetu[2]<<"\n";

cout<<hairetu[3]<<"\n";

cout<<hairetu[4]<<"\n";


}


ソーラー「このクラスInputdataは


どのような機能を持つクラスだとおもいますか?」


マックス「くっくっ



クラスInputdataのクラス宣言内で


クラスInputdataの


メンバ配列宣言


int hairetu[5];



おこなわれていて


それに加え


メンバ関数宣言


void inputdatadisplay();


がおこなわれているってわけか


クラスInputdata型のオブジェクト宣言を行った時


生成される


クラスInputdata型のオブジェクトのメンバ配列変数に


格納された数値データを表示するために


クラスInputdataのクラス宣言内で


クラスInputdataのメンバ関数宣言


void inputdatadisplay();


をおこない


クラスInputdataのメンバ関数inputdatadisplay()の定義がおこなわれているんだろう」



ソーラー「そうなんです


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


Inputdata A;


を実行して


クラスInputdata型のオブジェクトA


を作製したとき


クラスInputdata型のオブジェクトAのメンバ配列変数


A.hairetu[0]

A.hairetu[1]

A.hairetu[2]

A.hairetu[3]

A.hairetu[4]



クラスInputdata型のオブジェクトAのメンバ関数


A. inputdatadisplay()


が生成されます


ですので


A.hairetu[0]=0;

A.hairetu[1]=1;

A.hairetu[2]=2;

A.hairetu[3]=3;

A.hairetu[4]=4;


を実行して


クラスInputdata型のオブジェクトAのメンバ配列変数


A.hairetu[0]

A.hairetu[1]

A.hairetu[2]

A.hairetu[3]

A.hairetu[4]


数値データ

0

1

2

3

4

を代入することができます


そして


クラスInputdata型のオブジェクトAのメンバ関数


A. inputdatadisplay();


を実行すると


クラスInputdataのメンバ関数inputdatadisplay()の定義

👇

void Inputdata::inputdatadisplay(){


cout<<hairetu[0]<<"\n";

cout<<hairetu[1]<<"\n";

cout<<hairetu[2]<<"\n";

cout<<hairetu[3]<<"\n";

cout<<hairetu[4]<<"\n";


}


hairetu[0]

hairetu[1]

hairetu[2]

hairetu[3]

hairetu[4]



A.hairetu[0]

A.hairetu[1]

A.hairetu[2]

A.hairetu[3]

A.hairetu[4]


が代入された


cout<<A.hairetu[0]<<"\n";

cout<<A.hairetu[1]<<"\n";

cout<<A.hairetu[2]<<"\n";

cout<<A.hairetu[3]<<"\n";

cout<<A.hairetu[4]<<"\n";


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


マックス「おおぅ


hairetu[0]

hairetu[1]

hairetu[2]

hairetu[3]

hairetu[4]



A.hairetu[0]

A.hairetu[1]

A.hairetu[2]

A.hairetu[3]

A.hairetu[4]


が代入されるのか


なかなか思いつかないぞ」


ソーラー「えへ なれれば簡単です


ですので


プログラムの実行結果に


0

1

2

3

4


が表示されることになります」


そのことを示すプログラムはこちらです

👇


#include <iostream>


using namespace std;



class Inputdata{


public:


int hairetu[5];


public:


void inputdatadisplay();


};


void Inputdata::inputdatadisplay(){


cout << hairetu[0] << "\n";

cout << hairetu[1] << "\n";

cout << hairetu[2] << "\n";

cout << hairetu[3] << "\n";

cout << hairetu[4] << "\n";


}


int main() {


Inputdata A;


A.hairetu[0] = 0;

A.hairetu[1] = 1;

A.hairetu[2] = 2;

A.hairetu[3] = 3;

A.hairetu[4] = 4;



A.inputdatadisplay();


return 0;

}



プログラムの実行結果


0

1

2

3

4



マックス「なるほど


hairetu[0]

hairetu[1]

hairetu[2]

hairetu[3]

hairetu[4]



A.hairetu[0]

A.hairetu[1]

A.hairetu[2]

A.hairetu[3]

A.hairetu[4]


が代入され



クラスInputdata型のオブジェクトAのメンバ関数を用いて


クラスInputdata型のオブジェクトAのメンバ配列変数に格納された値を表示することができるってわけだ


int(イント)


なかなかいい発見じゃないか」


int(イント)「クラスInputdata型のオブジェクトAのメンバ関数実行時



クラスのメンバ関数の定義内で用いられている


💖配列変数💖

hairetu[0]

hairetu[1]

hairetu[2]

hairetu[3]

hairetu[4]


💖クラスInputdata型のオブジェクトAの配列変数💖

A.hairetu[0]

A.hairetu[1]

A.hairetu[2]

A.hairetu[3]

A.hairetu[4]


が代入されるというところがポイントなのね


配列変数

hairetu[0]

hairetu[1]

hairetu[2]

hairetu[3]

hairetu[4]


変数に見えないっぽいけど


ちゃんとした



              🌞変数🌞


なんだね」




ソーラー「そうだね


配列変数

hairetu[0]

hairetu[1]

hairetu[2]

hairetu[3]

hairetu[4]

数値データを代入できる変数である


ということは忘れちゃいそうだね


まとめると


このクラスInputdataを用いれば


クラスInputdata型のオブジェクトのメンバ配列変数に


数値データを格納でき


クラスInputdata型のオブジェクトのメンバ配列変数に格納された数値データを


表示することができるというわけですね」








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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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