ねえ、コンストラクター内で変数を初期化することから、コンストラクター初期化子リストを使用することに切り替えようとしています。
だから書く代わりに
Class::Class(int width, int height) {
this->width = width;
this->height = height;
}
私はこれをやっています:
Class::Class(int width, int height) :
width(width),
height(height) {
}
それはすべて機能していますが、今私の問題です...次のコンストラクターがあるとします:
Class::Class(int width, int height) {
this->width = width;
this->height = height;
this->state.setCurrState(this->state.stateMenu);
this->state.setPrevState(this->state.getCurrState());
}
「状態」は、ヘッダーで作成するクラス「状態」の単なるオブジェクトです。関数 setCurrState および setPrevState は void 型で、クラスのプライベート変数を設定するだけです。
コンストラクターを変換するにはどうすればよいですか? 初期化子リストに関数を記述できることはわかっていますが、追加したい関数は何も返さない...それらは無効なので、どのように呼び出すかわかりませんか?
Class::Class(int width, int height) :
width(width),
height(height)
// call functions here... but how?
{
}
どうもありがとうございました <3