c – 这个头的意思是什么(virtual const char * what()const throw())?

前端之家收集整理的这篇文章主要介绍了c – 这个头的意思是什么(virtual const char * what()const throw())?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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()

没有例外.

猜你在找的C&C++相关文章