gpt4 book ai didi

c++ - 有没有一种方法可以根据创建的派生类分配成员?

转载 作者:行者123 更新时间:2023-12-03 07:23:03 25 4
gpt4 key购买 nike

我认为我可以忽略 super 明显的物体,但是我只想要它,这样,如果我创建一个Shape时,其名称为“Unique”,而如果我创建一个Cube,则其名称为“Cube”,而无需重新设置在派生类中。

class Shape
{public:
Shape() : type("Unique") {}
std::string type;
};


class Sphere : public Shape
{public:
Sphere() : Shape() {
//type= "Sphere";
}
};

class Cube : public Shape
{public:
Cube() : Shape() {
// type = "Cube"
}

};

int main()
{
Shape s; // Has name "Unique"
Cube c; // Has name "Cube"
}

最佳答案

只需向Shape构造函数添加一个可选参数

class Shape
{public:
Shape(const std::string& t = "Unique") : type(t) {}
std::string type;
};


class Sphere : public Shape
{public:
Sphere() : Shape("Sphere") {
}
};

class Cube : public Shape
{public:
Cube() : Shape("Cube") {
}

};

关于c++ - 有没有一种方法可以根据创建的派生类分配成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64510196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com