class myexception: public exception { virtual const char* what() const throw() { return "My exception happened"; } };
对不起,这个问题可能听起来很愚蠢,但我解析标题时遇到麻烦.有人可以用英文描述什么标题实际上是什么意思?对我来说似乎奇怪的第一件事是关键字virtual. myexception类不是一个基类,而是从已经实现的异常类继承,所以为什么在这里使用virtual?我想const是用于返回类型,它是一个c风格的字符串,它是const,另一个const是确保没有这个对象不能修改(有人可以告诉我该对象可能是什么?).我不知道throw()做什么,以前从来没有看过这个语法.
解决方法
virtual
没有添加任何内容,因为被覆盖的方法已经是虚拟的.你是对的,可以省略
const char* what()
一个名为what()的成员函数不需要参数,并返回一个指向const char的指针.
const
成员函数可以通过一个const指针或者这个类的实例引用或一个派生类来调用.
throw()
没有例外.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。