admin管理员组

文章数量:1794759

[C++] 关于 构造函数(construction) 析构函数(destruction)中调用虚函数

[C++] 关于 构造函数(construction) 析构函数(destruction)中调用虚函数

在“构造函数”/“析构函数”中,调用虚函数需要通过类命调用“成员函数” 通常和多继承下,对有歧义的函数,需要“类名::函数名 ”的方式调用,如, 定义与“基类的函数” 同名的函数(特别是'重写')

class Animal { public:  Animal() { ... };  virtual void Run() { ... }  virtual void Walk(){ ... } }; class Dog: public Animal //Dog类,继承Animal类 { public:  Dog()  {   ...   Run(); //错误,会调用Animal类的Run()函数   Dog::Walk(); //正确,指定Dog类的Walk()函数 ... }; void Run() override { ... } //重写Animal::Run()函数 void Walk() override { ... } //重写Animal::Walk()函数 };

本文标签: 函数Constructiondestruction