Mic*_*ang 2 c++ constructor struct initialization
我有一个struct,player,如下:
struct player {
string name;
int rating;
};
Run Code Online (Sandbox Code Playgroud)
我想修改它,以便我用两个参数声明结构:
player(string, int)
Run Code Online (Sandbox Code Playgroud)
它为结构的内容分配这些值.
您将使用构造函数,如下所示:
struct player {
player(const string& pName, const int& pRating) :
name(pName), rating(pRating) {} // << initialize your members
// in the initialization list
string name;
int rating;
};
Run Code Online (Sandbox Code Playgroud)
尽管(正如已经指出的那样),您可以简单地添加一个构造函数:
struct player() {
string name;
int rating;
player(string Name, int Rating) {
name = Name; rating = Rating;
}
};
Run Code Online (Sandbox Code Playgroud)
你有什么理由不想把它变成一门课吗?
class player() {
public:
string name;
int rating;
player(string Name, int Rating) {
name = Name; rating = Rating;
}
};
Run Code Online (Sandbox Code Playgroud)
除了给你的类型一个构造函数,因为如图所示它是一个聚合类型,你可以简单地使用聚合初始化:
player p = { "name", 42 };
Run Code Online (Sandbox Code Playgroud)