我正在尝试学习C ++,但我的第一语言是Python。我正在努力理解C ++中的构造函数,更具体地说是变量大小的数组和字符串。有人可以编写以下类定义的C ++等价物,以便我可以遵循逻辑吗?
class Fruit(object):
def __init__(self, name, color, flavor, poisonous):
self.name = name
self.color = color
self.flavor = flavor
self.poisonous = poisonous
答案 0 :(得分:6)
class Fruit {
std::string name;
std::tuple<uint8_t, uint8_t, uint8_t> color; // for RGB colors
std::string flavor; // Assuming flavor is a string
bool poisonous;
Fruit(const std::string& nm, const std::tuple<uint8_t, uint8_t, uint8_t>& clr, const std::string& flvr, const bool psns) : name(nm), color(clr), flavor(flvr), poisonous(psns) {}
}
__init__
函数与C ++中的构造函数非常相似。因为在C ++中,你需要指定变量类型,我假设name
和flavor
是字符串,color
是从0到255的3元组值(RGB)。 )和poisonous
是一个布尔值(bool
)。