Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7582745
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T18:30:40+00:00 2026-05-30T18:30:40+00:00

I have a base resource that contains pure virtual functions like load and unload.

  • 0

I have a base resource that contains pure virtual functions like load and unload. I have then a class inheritent from this class and be AudioResource and have virtual functions aka like play and stop. I then in inherent from this class and have a class called BassAResource.

Lets imagine I have returned a type of type Resource* then I want to type cast it to AudioResource and call the load functions, and let the class that it actually is handle that but i keep getting problems saying that it is a pure virtual function within 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();
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-30T18:30:42+00:00Added an answer on May 30, 2026 at 6:30 pm

    You cannot construct an ‘AudioResource’ as it has undefined methods. I’ll assume you’re returning a ‘BASSAResource’ that has been cast to a Resource pointer. Let me pseudo code to see if I get your meaning

    Resource *myFunc() {
       BASSAResource *resource = new BASSAResource();
       return (Resource*)resource;
    }
    
    void myMain() {
       Resource *resource = myFunc();
       AudioResource *audio = (AudioResource*) resource;
       audio->load();
    }
    

    This should work fine – in fact why cast to AudioResource since load is defined as an abstract method in your Resource class. But if you wanted to ‘play’, this cast would be required. Again, you cannot construct using ‘new AudioResource()’ due to the fact that you have an abstract method which must first be implemented.

    Also, be very careful to make all destructors virtual. Your ~BASSAResource is not virtual, and this will cause problems for you.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a base class that owns a managed disposable resource (.NET PerformanceCounter). I
Hi i have these classes: class Core < ActiveRecord::Base belongs_to :resource, :polymorphic => true
In the project I'm working on now, we have base Entity class that looks
I have a base class with an optional virtual function class Base { virtual
I have a base class that represents a database test in TestNG, and I
I have base class BaseClass and derived classes DerivedA , DerivedB , and DerivedC
I have an interface with several events I have base class implementing the interface
I have a base class object array into which I have typecasted many different
I have a base page, BasePage, that raises an event that displays messages to
I have a base class with a property which (the get method) I want

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.