C++ 父类指针如何调用子类的变量和函数 虚函数virtual实例

Posted 软件工程小施同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 父类指针如何调用子类的变量和函数 虚函数virtual实例相关的知识,希望对你有一定的参考价值。

问题:

    类A继承类B,父类B的指针如何调用子类A中的变量和函数?

解决方案:

    在父类B类中定义虚函数

  1.  父类中有自己的实现,子类重新实现

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++隐藏

作者:软件工程小施同学

公众哈:微程序学堂

以上是关于C++ 父类指针如何调用子类的变量和函数 虚函数virtual实例的主要内容,如果未能解决你的问题,请参考以下文章

c++ 虚函数 如何调父类 而非子类

C++子类如何调父类的虚函数

C++中的虚函数以及虚函数表

4.虚函数-多态

关于C++的虚函数在父类的内部调用

一个c++虚函数与this指针的问题