Является ли следующий код правильным способом вызова переопределенной функции базового класса из функции производного класса?:
#include "stdafx.h"
#include <iostream>
class BaseClass
{
public:
virtual void foo()
{
std::cout << "BaseClass::foo()" << std::endl;
}
};
class DerivedClass : BaseClass
{
public:
virtual void foo()
{
__super::foo();
std::cout << "DerivedClass::foo()" << std::endl;
}
};
int main()
{
DerivedClass* dc = new DerivedClass();
dc->foo();
delete dc;
return 0;
}