如果一个指向子类实例中的抽象类的指针,需要进行以下操作:
以下是一个示例代码:
#include <iostream>
// 抽象类
class AbstractClass {
public:
virtual void doSomething() = 0; // 纯虚函数
};
// 子类
class ConcreteClass : public AbstractClass {
public:
void doSomething() override {
std::cout << "ConcreteClass doSomething()" << std::endl;
}
};
int main() {
AbstractClass* ptr = new ConcreteClass(); // 创建子类的实例并赋值给抽象类指针
ptr->doSomething(); // 调用抽象类的接口函数
delete ptr; // 释放内存
return 0;
}
在这个例子中,我们创建了一个抽象类AbstractClass
,其中包含一个纯虚函数doSomething()
。然后,我们创建了一个子类ConcreteClass
,并在子类中实现了抽象类中的纯虚函数。在main()
函数中,我们创建了一个指向子类实例的抽象类指针ptr
,并通过该指针调用了抽象类的接口函数doSomething()
。最后,我们使用delete
操作符释放了内存。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云