这个头的含义是什么(virtual const char*what()const throw())?

use*_*009 14 c++ exception

class myexception: public exception
{
  virtual const char* what() const throw()
  {
    return "My exception happened";
  }
};
Run Code Online (Sandbox Code Playgroud)

对不起,这个问题可能听起来很愚蠢,但我在解析标题时遇到了问题.有人能用英语描述标题的实际含义吗?对我来说,首先看起来很奇怪的是关键字virtual.该myexception班是不是一个基类,从已经实施的继承exception类,所以为什么还要用virtual在这里?我猜const是返回类型是一个c风格的字符串是const,另一个const是确保这个对象不能被修改(有人可以告诉我该对象可能是什么?).我不知道究竟throw()是什么,从未见过这种语法.

use*_*421 30

虚拟

什么都不添加,因为被覆盖的方法已经是虚拟的.你是对的:它可以省略.

const char*what()

一个名为的成员函数what(),它不带参数并返回指针const char.

常量

可以通过const指针或对此类的实例或派生类的引用来调用成员函数.

扔()

没有例外.