C++:使用相同的参数类型创建多个构造函数

gal*_*tte 3 c++ constructor types typedef disambiguation

我想用几个相同类型的构造函数创建一个类.由于这不是直接可能的,有一种简单的方法来定义可读的"虚拟"类型,例如类可能如下所示:

class Myclass
{
    MyClass(Orange, std::string & name, float size);
    MyClass(Apple, std::string & name, float size);
    MyClass(Banana, std::string & name, float size);
}
Run Code Online (Sandbox Code Playgroud)

我可以将Orange,Apple和Banana定义为struct typedef,但是有更方便的方法吗?

谢谢

Dav*_*vid 5

标准库实际上在不同的地方执行此操作,例如std :: piecewise_construct_t.他们的标准是提供......

struct something_t {};

constexpr something_t something = something_t();
Run Code Online (Sandbox Code Playgroud)