考虑一类瓦尔多,从Foo和巴兹,即:这是否工作? C++多重继承和构造函数链
class Waldo : public Foo, public Baz {
...
};
当我创建金都的新实例继承:
Waldo *w = new Waldo;
做Foo和Baz构造函数被调用?如果它们不是默认调用的,在Waldo构造函数的类声明或声明/定义中是否有简单的方法来强制它们被调用?
(它看起来像我可能会尝试做构造链接,和C++据称没有做到这一点。我不知道。)
我试图做的是“注解”的各种类声明,其中注释导致(除其他之外)注释类的实例被链接到由注释类维护的列表中。例如,这让我用Baz-nature遍历所有对象的列表,对它们应用特定的操作,而不必担心是否记住将实例添加到具有Baz-nature的对象列表中,因为构造函数自动完成它。
注意:在这里使用'new'是虚假的,您可以完美地说'Waldo w''和一个实例沃尔多将被创建。 – 2012-04-16 16:08:59