您的位置:首页 > 编程语言 > C语言/C++

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

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

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()函数
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: