gpt4 book ai didi

c++ - 命名构造函数习语和继承

转载 作者:太空狗 更新时间:2023-10-29 20:49:08 24 4
gpt4 key购买 nike

我有几个类(class)有几个 named constructors .当我从他们继承时,我应该如何继承构造函数?问题是它们返回基类的对象而不是子类的对象。

附带问题:我可以使用 C++0x“使用”来减少样板代码的数量吗?

最佳答案

struct Foo {
template<typename T> static T one () { return T(1); }
};

struct A { int x; A(int i) : x(i) {}};
struct B : A { B(int i) : A(i) {}};

它允许你做类似的事情

A a = Foo::one<A> (); 
B b = Foo::one<B> ();

关于c++ - 命名构造函数习语和继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1633463/

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