这个类定义的c ++等价物是什么

时间:2014-08-10 19:51:02

标签: python c++

我正在尝试学习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

1 个答案:

答案 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 ++中,你需要指定变量类型,我假设nameflavor是字符串,color是从0到255的3元组值(RGB)。 )和poisonous是一个布尔值(bool)。