c – 如何继承构造函数,或者如何调用具有未知数量参数的构造函数
发布时间:2020-12-16 07:30:07 所属栏目:百科 来源:网络整理
导读:我正在尝试编写一个方便使用的构造函数类似于printf的异常类,例如: class ExcBase{ ExcBase(const char *fmt,...) { // call things like vsprintf }}; 但是在c中似乎没有构造的继承,所以我想编写一个继承的类,如: class ExcChild : public ExcBase{ ExcCh
我正在尝试编写一个方便使用的构造函数类似于printf的异常类,例如:
class ExcBase { ExcBase(const char *fmt,...) { // call things like vsprintf } }; 但是在c中似乎没有构造的继承,所以我想编写一个继承的类,如: class ExcChild : public ExcBase { ExcChild(const char *fmt,...) : ExcBase(fmt,...) // XXX: how to pass the trailing parameters to the constructor? { } }; 或者我将不得不为所有子类编写相同的构造函数,这太烦人了…… 这个问题困扰了我很多,我无法找到解决这个问题的方法…… 解决方法
如果将复杂的工作分离为带有va_list参数的函数,则应该能够从每个子构造函数(对于每个子类型仍然必须实现)中调用它.然后你的重复代码(每个类)只是声明va_list,然后调用va_start,你的新(基本)函数和va_end.这样做有
a post here on SO个.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |