c – 防止重新定义构造函数定义的方法
发布时间:2020-12-16 09:47:54 所属栏目:百科 来源:网络整理
导读:我正在编写一个自定义的Exception类,在std :: exception之上有一些额外的功能.我在我的Exception类中添加了一个自定义构造函数Exception(std :: string details):details(details){}. 后来,当我使用类FileNotAccessibleException扩展Exception类并抛出它时,
我正在编写一个自定义的Exception类,在std :: exception之上有一些额外的功能.我在我的Exception类中添加了一个自定义构造函数Exception(std :: string details):details(details){}.
后来,当我使用类FileNotAccessibleException扩展Exception类并抛出它时,我得到一个编译错误,说没有匹配的函数来调用’FileNotAccessibleException :: FileNotAccessibleException(std :: basic_string< char>)’当我然后添加一个方法FileNotAccessibleException(std :: string details):异常(详细信息){}到我的班级,它确实可以正常工作. 有没有办法让构造函数工作,而不必重新定义所有类的构造函数? 解决方法
您可以使用using声明继承基类的构造函数:
class FileNotAccessibleException : public Exception { public: using Exception::Exception; ... }; 在Bjarne Stroustrup’s C++11 FAQ上查看有关继承构造函数的更多信息. 注意:这不适用于pre-C 11实现,并且是最新的C 11语言功能之一,可以添加到流行的编译器,如G和CLANG. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- React Native入门-实战解析(上)
- data pipeline管理工具 airflow
- c# – 如何在类库项目中使用Autofac?
- oracle 查询重复数据并且删除, 只保留一条数据
- ruby-on-rails – 使用Passenger部署rails应用程序的最快方
- ruby-on-rails-3 – 活动管理员has_many通过删除关联
- node.js平台下利用cookie实现记住密码登陆(Express+Ejs+My
- Oracle使用Merge into 注意事项
- ReactiveCocoa Tutorial – The Definitive Introduction:
- Reactor模式,或者叫反应器模式