ここで明確にするべきことはほとんどありません。
- メンバー初期化リストは、メンバーを初期化するためのものです (ほとんどコンストラクターと同じ目的です)。初期化リストでは、メンバー関数とは何の関係もありません。この例
age(newAge)
では、関数ではありません。age
変数を初期化しています。
class Man{
private:
int age;
string name;
public:
Man(int newAge):age(newAge),name("Jhon"){}
};`
- コンストラクターを使用して、クラスのメンバーを初期化できます。
class Man{
private:
int age;
string name;
public:
Man(int newAge)
{
age = newAge;
name = "Jhone";
}
};
init
または、コンストラクターの使用に問題がある場合は、メソッドを使用して初期化を行うことができます。
class Man{
private:
int age;
string name;
public:
Man(){}
init(int newAge, string newName)
{
age = newAge;
name = newName;
}
};
- クラス内の 1 つのメンバーの値のみを設定する必要がある場合は、セッター メソッドを使用する必要があります。
class Man{ private: int age; 文字列名;
public:
Man(){}
setAge(newAge)
{
age = newAge;
}
setName(newName)
{
name = newNAme
}
};
編集:
class Man{
private:
int age;
string name;
public:
Man(initAge, initName)
{
setValues(initAge, initName);
}
setValues(newAge, newName)
{
age = newAge;
name = newName;
}
};
int main()
{
Man goodMan(34,"Jhon");
goodMan.setValues(45,"Kevin");
}