How would I go about doing the following in C++ (the following code is C#):
class Base
{
public virtual void Foo()
{
// do stuff...
}
}
class C : Base
{
public override void Foo()
{
base.Foo(); // <=== how do you do this line?
}
}
Use operator ::
:
class Base
{
public:
virtual ~Base() {}
virtual void Foo()
{
// do stuff
}
};
class C : public Base
{
public:
void Foo()
{
Base::Foo();
}
};
To have an abstract class in C++ at least one method needs to be pure virtual:
class Base
{
public:
virtual ~Base() {}
virtual void Foo() {}
virtual void another_function() = 0; // Pure virtual function.
};