変換コンストラクタはふつうのコンストラクタと変わりありません😊

つづき・・・



🌞    🌞    🌞    🌞    🌞    🌞    🌞  


クラスSuutiは以下のようになります

👇

class Suuti {


public:

int x;


public:


void suutidisplay();



public:


Suuti(int b);



};

👆


このSuutiのクラス宣言のブロック{}内では


クラスSuutiのコンストラクタである自作関数Suuti(int b)の


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


Suuti(int b);


が設定されています


クラスSuutiのコンストラクタである自作関数Suuti(int b)の定義を


Suuti::Suuti(int b){


x=b;


}


と設定してみます


それでは


このクラスSuutiのコンストラクタである自作関数Suuti(int b)が用いられた


プログラムを実行してみたいと思います


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

👇

#include <iostream>


using namespace std;


class Suuti{


public:

int x;


public:


void suutidisplay();



public:


Suuti(int b);



};


void Suuti::suutidisplay() {


cout << x << "\n";


}



Suuti::Suuti(int b) {


x = b;


}


int main() {


Suuti a=1;

a.suutidisplay();

return 0;

}


プログラムの実行結果


1


マックス「


普通の

        Suuti a(1); 



という記述方法でなく


         Suuti a=1;


という記述方法でも


aのクラスSuuti型のオブジェクト宣言を実行し


同時に実行される


クラスSuuti型のオブジェクトaのコンストラクタの引数として


1を代入することができるわけだ



🌞    🌞    🌞    🌞    🌞    🌞    🌞  



結局


         Suuti a=1;



の実行により


引数として1が渡されたクラスSuuti型のオブジェクトaのコンストラクタが実行され


クラスSuuti型のオブジェクトaのメンバ変数a.xに


a.x=1;



1



代入されています



この


 Suuti a=1;


が実行可能なのは


クラスSuutiのメンバ関数であるコンストラクタが


Suuti(int b)


のように


引数部分を1つもっている場合に限ります


            そして


       変換コンストラクタの登場です


       引数部分を1つもっていることに加えて


クラスのコンストラクタの定義内容が


クラスSuutiのコンストラクタSuuti(int b)の定義内容


x=b;


のように


引数に与えられた数値データを


オブジェクトのメンバ変数に代入するように設定されている


クラスのコンストラクタを



           変換コンストラクタ




といいます


🌞    🌞    🌞    🌞    🌞    🌞    🌞  


マックス「ふむ


変換コンストラクタといっても


普通のコンストラクタだな


クラスSuutiのメンバ関数であるコンストラクタのメンバ関数宣言が


Suuti(int b);


のように設定されていて


クラスSuutiのメンバ関数であるコンストラクタの定義内容が


Suuti::Suuti(int b) {


x = b;


}


となっているなんて特別でもなんでもないような気が・・・


それに


変換コンストラクタは


演算子のオーバーロード


を可能にする


operator関数の設定などは出てこないので


演算子のオーバーロードとは何の関係もない・・・」









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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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