オブジェクトのメンバ関数が実行される様子を観察してみよう
ソーラー「
#include <iostream>
using namespace std;
class Cube {
public: // (アクセス指定子)
int no;
float tate;
float yoko;
float takasa;
void display(); //自作関数display()はクラスCubeのメンバ関数とよばれます
};
void Cube::display() {
cout << "立方体につけられたナンバーは" << no << "です" << "\n";
cout << "立方体の縦の長さは" << tate << "です" << "\n";
cout << "立方体の横の長さは" << yoko << "です" << "\n";
cout << "立方体の高さの長さは" << takasa << "です" << "\n";
}
//👆クラスCubeのメンバ関数となっている自作関数display()の定義をおこなっています
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.0です
立方体の横の長さは3.0です
立方体の高さの長さは4.0です
ソーラー「この
プログラムの実行結果
立方体につけられたナンバーは1です
立方体の縦の長さは2です
立方体の横の長さは3です
立方体の高さの長さは4です
は
クラスCube型のオブジェクトcube1のメンバ関数
cube1.display();
の実行結果です。
___________________________
クラスCube型の
オブジェクトcube1のメンバ変数
cube1.no
cube1.tate
cube1.yoko
cube1.takasa
オブジェクトcube1のメンバ関数
cube1.display()
の構造は
以前のエピソードででてきた
構造体struct Cube型の構造体変数cube1のメンバ変数
cube1.no
cube1.tate
cube1.yoko
cube1.takasa
と
同じ構造です。
つまり
cube1の構造体struct Cube型の構造体変数宣言
struct Cube cube1をおこなって
はじめて
構造体struct Cube型の構造体変数cube1のメンバ変数
cube1.no
cube1.tate
cube1.yoko
cube1.takasa
が使用できたように
cube1のクラスCube型のオブジェクト宣言
Cube cube1;
が
実行されて
はじめて
オブジェクトcube1のメンバ変数
cube1.no
cube1.tate
cube1.yoko
cube1.takasa
オブジェクトcube1のメンバ関数
cube1.display()
が使用できることになります
そして
オブジェクトcube1のメンバ関数
cube1.display();
が実行されるとどのようなことがおこなわれるのでしょうか?
クラスCubeのメンバ関数display() の定義は
👇
void Cube::display() {
cout << "立方体につけられたナンバーは" << no << "です" << "\n";
cout << "立方体の縦の長さは" << tate << "です" << "\n";
cout << "立方体の横の長さは" << yoko << "です" << "\n";
cout << "立方体の高さの長さは" << takasa << "です" << "\n";
}
となっています
クラスCube型のオブジェクトcube1のメンバ関数
cube1.display()
が実行されるとき
クラスCubeのメンバ関数display()の定義のブロック{}内で用いられている
変数
no
tate
yoko
takasa
に
cube1のクラスCube型のオブジェクト宣言
Cube cube1;
(👆cube1のクラス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";
が実行されることになります
オブジェクト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です
が表示されることになります
クラスCube型のオブジェクト宣言
Cube cube1;
によって作製された
オブジェクトcube1のメンバ変数
cube1.no
cube1.tate
cube1.yoko
cube1.takasa
に
立方体cube1のデータ
立方体cube1に付けられた番号1
縦の長さ 2.0
横の長さ 3.0
高さの長さ 4.0
を格納し
cube1.display();
を実行することができましたね」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます