【发布时间】:2012-03-04 04:44:31
【问题描述】:
我有一个包含纯虚函数(如加载和卸载)的基础资源。然后我有一个从这个类继承的类并且是 AudioResource 并且具有虚拟功能,也就是播放和停止。然后我在这个类中固有并有一个名为 BassAResource 的类。
假设我返回了 Resource* 类型,然后我想将其类型转换为 AudioResource 并调用加载函数,并让它实际处理的类来处理它,但我一直遇到问题,说它是纯的AudioResource 中的虚函数 =s
class Resource
{
public:
Resource();
Resource(std::string filename,unsigned int scope, RESOURCE_TYPE type);
virtual ~Resource();
virtual void load() = 0;
virtual void unload() = 0;
class AudioResource : public Resource
{
public:
AudioResource(std::string filename, unsigned int scope, RESOURCE_TYPE type, AUDIO_T Atype);
virtual void load() = 0;
virtual void unload() = 0;
virtual void play() = 0;
virtual void pause() = 0;
virtual void stop() = 0;
class BASSAResource : public AudioResource
{
public:
~BASSAResource();
virtual void load();
virtual void unload();
virtual void play();
virtual void pause();
virtual void stop();
【问题讨论】:
-
您需要更好的源代码摘录。您包含的类定义不完整(所有 3 个都缺少右花括号和分号),并且您没有包含任何试图调用 load 函数的代码。
标签: c++ inheritance virtual