C++ | 子类对象调用父类函数

C++ | 子类对象调用父类函数

在C++中子类对象调用父类函数可通过域操作符(::)来实现,表明所调用函数的作用域。

//test.cc

#include

using namespace std;

class A

{

public:

virtual void func()

{

cout <<" this is A" << endl;

}

};

class B : public A

{

public:

virtual void func()

{

cout <<" this is B" << endl;

}

};

int main()

{

A a;

B b;

A* c = new B();

a.func(); //this is A

b.func(); //this is B

b.A::func(); //this is A

c->func(); //this is B

c->A::func(); //this is A

return 0;

}

输出如下图:

在上面的列子中,函数func()是否是虚函数对a、b的调用没有影响;指针c是一个指向子类的父类指针,当其直接调用函数func()时,由于func()是虚函数,根据虚函数表的定义,子类的func()将覆盖父类的func()。

相关推荐

宠物店剪毛多少钱一次(价格表)
365bet盘口开户

宠物店剪毛多少钱一次(价格表)

📅 07-09 🔥 762
寄快递没有箱子怎么处理
365bet盘口开户

寄快递没有箱子怎么处理

📅 10-17 🔥 154
神武子女知识教导答案及用途 附孩子门派选择及培养攻略
word显示两页怎么变成一页
365 双式投注

word显示两页怎么变成一页

📅 08-27 🔥 523
區別 have 和 has:意思和差異
365三式投注

區別 have 和 has:意思和差異

📅 10-10 🔥 605
《奇迹MU》法魔深度解析:属性加点、装备与技能搭配攻略