static函数如何调用虚函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了static函数如何调用虚函数相关的知识,希望对你有一定的参考价值。
参考技术A 1.如果通过对象调用虚函数,编译器直接找到虚函数的地址。2.对于虚函数和成员函数,编译器都会隐式的传入this指针。
3.对于指针和引用的形式来调用虚函数,编译器走的则是虚函数表的路线。
4.无论是成员函数还是虚函数,他的地址都是在编译期间就已经确定下来了,接下来就看你怎么去找到这个虚函数的地址,可以直接找,也可以通过虚函数表.
C++ 父类指针如何调用子类的变量和函数 虚函数virtual实例
问题:
类A继承类B,父类B的指针如何调用子类A中的变量和函数?
解决方案:
在父类B类中定义虚函数
-
父类中有自己的实现,子类重新实现
virtual void Show()
cout << "A::Show()" << endl;
2. 父类没有实现,子类自己实现
virtual void test(int num) = 0;
完成代码参考如下
#include<iostream>
using namespace std;
class A
public:
virtual void Show()
cout << "A::Show()" << endl;
virtual void test(int num) = 0;
;
class B : public A
public:
void Show()
cout << "B::Show" << endl;
void test(int num)
cout << num << endl;
;
int main()
A *pa = NULL;
B b;
pa = &b;
pa->Show();
pa->test(3333);
return 0;
运行结果
参考
解析C++隐藏与覆盖_Oragen的博客-CSDN博客_c++隐藏
作者:软件工程小施同学
公众哈:微程序学堂
以上是关于static函数如何调用虚函数的主要内容,如果未能解决你的问题,请参考以下文章