我有一个结构,播放器,如下所示:
struct player {
string name;
int rating;
};
我想修改它,以便我用两个参数声明结构:
player(string, int)
它用这些值分配结构的内容。
我有一个结构,播放器,如下所示:
struct player {
string name;
int rating;
};
我想修改它,以便我用两个参数声明结构:
player(string, int)
它用这些值分配结构的内容。
您将使用构造函数,如下所示:
struct player {
player(const string& pName, const int& pRating) :
name(pName), rating(pRating) {} // << initialize your members
// in the initialization list
string name;
int rating;
};
除了给你的类型一个构造函数,因为如图所示它是一个聚合类型,你可以简单地使用聚合初始化:
player p = { "name", 42 };
虽然(正如已经指出的那样),您可以简单地添加一个构造函数:
struct player() {
string name;
int rating;
player(string Name, int Rating) {
name = Name; rating = Rating;
}
};
你有什么理由不想让它成为一门课吗?
class player() {
public:
string name;
int rating;
player(string Name, int Rating) {
name = Name; rating = Rating;
}
};
你可以为你的player
结构声明一个构造函数:
struct player {
string name;
int rating;
player(string n, int r) :
name(n),
rating(r)
{
}
};
在 C++ 中,类和结构之间的少数区别之一是类成员默认为私有,而结构成员默认为公共。