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

  • Home
  • SEARCH
  • 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 8183135
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 7, 20262026-06-07T01:04:12+00:00 2026-06-07T01:04:12+00:00

I’ll start by saying I understand that that only nonstatic member functions can be

  • 0

I’ll start by saying I understand that that only nonstatic member functions can be virtual, but this is what I want:

  1. A base class defining an interface: so I can use base class pointers to access functions.

  2. For memory management purposes (this is an embedded system with limited ram) I want the overriding functions to be statically allocated. I accept the consequence that with a static function, there will be constraints on how I can manipulate data in the function.

    My current thinking is that I may keep a light overloading function by making it a wrapper for a function that actually is static.

Please forbear telling me I need to re-think my design. This is why I am asking the question. If you’d like to tell me I’m better off using c and using callbacks, please direct me to some reading material to explain the pitfalls of using an object oriented approach. Is there a object oriented pattern of design which meets the requirements I have enumerated?

  • 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-06-07T01:04:14+00:00Added an answer on June 7, 2026 at 1:04 am

    Is there a object oriented pattern of design which meets the requirements I have enumerated?

    Yes, plain old virtual functions. Your desire is “the overriding functions to be statically allocated.” Virtual functions are statically allocated. That is, the code which implements the functions exists once, and only once, and is fixed at compile/link time. Depending upon your linker command, they are as likely to be stored in flash as any other function.

    class I {
      public:
      virtual void doit() = 0;
      virtual void undoit() = 0;
    };
    
    class A : public I {
      public:
      virtual void doit () {
        // The code for this function is created statically and stored in the code segment
        std::cout << "hello, ";
      }
      virtual void undoit () {
        // ditto for this one
        std::cout << "HELLO, ";
      }
    };
    
    class B : public I {
      public:
      int i;
      virtual void doit() {
        // ditto for this one
        std::cout << "world\n";
      }
      virtual void undoit() {
        // yes, you got it.
        std::cout << "WORLD\n";
      }
    };
    
    int main () {
       B b; // So, what is stored inside b?
            // There are sizeof(int) bytes for "i",
            // There are probably sizeof(void*) bytes for the vtable pointer.
            // Note that the vtable pointer doesn't change size, regardless of how
            // many virtual methods there are.
            // sizeof(b) is probably 8 bytes or so.
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a French site that I want to parse, but am running into
I'm parsing an RSS feed that has an &#8217; in it. SimpleXML turns this
I want to count how many characters a certain string has in PHP, but
I have a string like this: La Torre Eiffel paragonata all&#8217;Everest What PHP function
I want use html5's new tag to play a wav file (currently only supported
Does anyone know how can I replace this 2 symbol below from the string
I want to construct a data frame in an Rcpp function, but when I
link Im having trouble converting the html entites into html characters, (&# 8217;) i
That's pretty much it. I'm using Nokogiri to scrape a web page what has
For some reason, after submitting a string like this Jack’s Spindle from a text

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.