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 7048049
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T02:50:41+00:00 2026-05-28T02:50:41+00:00

Better explained in code than with words: //Classes.hpp struct Base { virtual void foo()

  • 0

Better explained in code than with words:

//Classes.hpp
struct Base
{
   virtual void foo() = 0;
};

struct Derived : public Base
{
   //Nothing here
};

//Classes.cpp
void Derived::foo()
{
   //Do something here
}

I saw this compile without errors, but it strikes me as odd that you don’t have to explicitly state in class Derived that you are going to implement “foo”.

Is this supposed to work according to the C++ standard?

  • 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-28T02:50:42+00:00Added an answer on May 28, 2026 at 2:50 am

    Don’t know what compiler you’re using but this is not legal c++. My VC and gcc return the expected error when compiling this code.

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

Sidebar

Related Questions

I have the following code that doesn't compile. class Base { public: virtual ~Base()
Alex explained what I'm looking for much better than I have: You want an
So, I think the code probably explains what I'm trying to do better than
I have an (for C++ programmers better than me) simple problem with classes and
i am trying to create slider movement graphics. The code explain better this. using
I'm having troubles releasing objects.. To explain it better I have included my code
We just recently moved our DB from 9i to 10G (Yes..better late than never
Why in the following code .height() returns 95 rather than 100, while .width() returns
In my experience, .NET is 2 to 3 times slower than native code. (I
suppose you have the code template <template<class> class BaseType> class EST16 : public BaseType<int>

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.