我想提供一个唯一的ID号,该ID号等于创建类船的对象的次数 因此我尝试了我从java中知道的代码(但不幸的是它没有工作)
名称由父类车辆继承 我想在GNU c ++编译器(和仅声明)
中实现一个实现#include <iostream>
static int id = 0;
class Ship:private Vehicle
{
Ship()
{
id++;
this->name="Pirate"+id;
}
}
答案 0 :(得分:3)
// C++98
Ship() {
std::ostringstream tmp;
tmp << "Pirate" << ++id;
name = tmp.str();
}
// C++11
Ship() : name("Pirate" + std::to_string(++id)) {}
答案 1 :(得分:2)
如果数据成员名称的类型为std::string
,那么您可以编写
this->name = "Pirate" + std::to_string( id );
答案 2 :(得分:1)
您需要先将int转换为字符串。将id
替换为std::to_string(id)
。