🌞main関数内で🌞オブジェクト宣言されたオブジェクトを 🌞main関数の外で定義された🌞クラスのメンバ関数の引数に代入するとオブジェクトの格納しているデータだけが💖値渡し💖されます
自作関数の引数にオブジェクト宣言を設定することができます
ソーラー「つづいては
自作関数の引数にオブジェクト宣言を設定してみましょう
自作関数の実行時
引数となっているオブジェクト宣言
には
別のオブジェクトが代入できるようになります
次のプログラムをご覧ください」
#include <iostream>
using namespace std;
class Cube {
public:
int no;
public:
float tate;
public:
float yoko;
public:
float takasa;
public:
void display();
};
void Cube::display() {
cout << "立方体につけられたナンバーは" << no << "です" << "\n";
cout << "立方体の縦の長さは" << tate << "です" << "\n";
cout << "立方体の横の長さは" << yoko << "です" << "\n";
cout << "立方体の高さの長さは" << takasa << "です" << "\n";
}
void Cubedata2baihyouji(Cube a)
{
a.no = 2 * a.no;
a.tate = 2 * a.tate;
a.yoko = 2 * a.yoko;
a.takasa = 2 * a.takasa;
cout << "立方体につけられたナンバーは" << a.no << "です" << "\n";
cout << "立方体の縦の長さは" << a.tate << "です" << "\n";
cout << "立方体の横の長さは" << a.yoko << "です" << "\n";
cout << "立方体の高さの長さは" << a.takasa << "です" << "\n";
return;
}
//👆クラスCubeのメンバ関数でない普通の自作関数Cubedata2baihyoujiの定義をおこなっています
int main() {
Cube cube1;
//👆cube1のクラスCube型のオブジェクト宣言をおこなっています
cube1.no = 1;
cube1.tate = 2.0;
cube1.yoko = 3.0;
cube1.takasa = 4.0;
cube1.display();
Cubedata2baihyouji(cube1);
return 0;
}
ビルド実行結果
立方体につけられたナンバーは1です
立方体の縦の長さは2です
立方体の横の長さは3です
立方体の高さの長さは4です
立方体につけられたナンバーは2です
立方体の縦の長さは4です
立方体の横の長さは6です
立方体の高さの長さは8です
ソーラー「このプログラムでは
main関数内で
cube1のクラスCube型のオブジェクト宣言
Cube cube1;
が実行されて
オブジェクトcube1が作製されています。
そして
生成される
オブジェクト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
が代入されています。」
マックス「ここまでは今までのエピソード通りだな😊
簡単~簡単」
ソーラー「では・・・
自作関数の定義に戻って
自作関数の定義
void Cubedata2baihyouji(Cube a)
{
a.no =2*a.no;
a.tate =2* a.tate;
a.yoko=2* a.yoko;
a.takasa =2* a.takasa;
cout << "立方体につけられたナンバーは" << a.no<< "です" << "\n";
cout << "立方体の縦の長さは" << a.tate << "です" << "\n";
cout << "立方体の横の長さは" << a.yoko << "です" << "\n";
cout << "立方体の高さの長さは" << a.takasa << "です" << "\n";
return;
}
の
void Cubedata2baihyouji(Cube a)
の部分をみてよ
引数の部分に
aのクラスCube型のオブジェクト宣言
Cube a
が実行されています。😊
main関数内で
cube1のクラスCube型のオブジェクト宣言
Cube cube1;
の実行後
自作関数Cubedata2baihyoujiの引数の
Cube aにcube1が代入された
Cubedata2baihyouji(cube1);
が実行される際
この引数となっている部分の
クラスCube型のオブジェクト宣言
Cube aの
🍓オブジェクトaには🍓
cube1のクラスCube型のオブジェクト宣言
Cube cube1;
で作製された
🍋オブジェクトcube1🍋
が代入されています。」
マックス「自作関数
🐤Cubedata2baihyouji(cube1);🐤
が実行される際
この引数となっている部分の
aのクラスCube型のオブジェクト宣言
Cube a
の
🍓オブジェクトaに🍓
cube1のクラスCube型のオブジェクト宣言
Cube cube1;
で作製された
🍋オブジェクトcube1🍋
が代入されている???
🍓main関数内で🍓
Cube cube1;
で作製された
オブジェクトcube1
が
🍅自作関数void Cubedata2baihyouji(Cube a)🍅
の引数となっている
aのクラスCube型のオブジェクト宣言
Cube aにより
作製される
オブジェクトaに代入されている・・・・・
🍓main関数内で🍓
Cube cube1;
で作製された
オブジェクトcube1
が
🍅自作関数void Cubedata2baihyouji(Cube a)🍅
の引数となっている
aのクラスCube型のオブジェクト宣言
Cube aにより
作製される
オブジェクトaに代入されている・・・・・
なんか
っどっかで・・・
main関数で・・・・・と
自作関数・・・・・か?
どっかで出会ったことあるような・・・
きのせいか にゃはは😺」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます