c++ - 如何从父类调用子函数
问题描述
例如我有
class A
{
void Afunction();
};
我有
#include "A.h"
class B: public A
{
void Function();
};
#include "B.h"
class C
{
void UpdateStuff();
void CreateStuff();
B* Stuff;
}
我需要打电话CreateStuff();
,Afunction();
但我不能只是#include "C.h"
有另一种方法可以做到这一点吗?
解决方案
您可以使用指向或引用子对象的 Parent 类的指针或引用来调用子函数。例如:
#include <iostream>
struct A
{
virtual void Function() //Defination
{ std::cout << "Super_class: A\n"; }
virtual ~A() {}
};
struct B
{
virtual void Function() { std::cout << "Child_class\n"; }
};
int main()
{
A *obj1 = new B;
obj1->Function();
B obj2;
obj2.A::Function(); //Calling to Parent class function(A)
obj2.Function(); //Calling to Child class function(B)
}
推荐阅读
- api - Where can I find a full spanish dictionary in json or csv?
- java - How do i give null as an input through scanner in java
- c++ - C++ - 没有匹配函数调用“getaddrinfo”
- java - Unable to perform Uber login programmatically
- php - Using Symfony Messenger without framework
- r - 当连接附加了后缀时,如何在函数中引用用户输入的列名 post join?
- python - How do I build convolutional neural network using OptionsDataset
- oracle - Oracle中如何同步线程?
- spring-boot - How to get initial data using Spring RabbitMQ and websockets
- r - R Boxpacker 函数未显示 3d 可视化