
Untitled
By: a guest on
Jun 30th, 2012 | syntax:
None | size: 0.64 KB | hits: 12 | expires: Never
Covariant virtual functions return type problem
#include <iostream>
using namespace std;
class Child1
{
int i;
};
class Child2 : public Child1
{
int j;
};
class Base1
{
public:
virtual Child1& getChildren()
{
cout << "Children1" << endl;
return children;
}
private:
Child1 children;
};
class Base2 : public Base1
{
public:
virtual Child2& getChildren()
{
cout << "Children2" << endl;
return children;
}
private:
Child2 children;
};
error C2555: 'Base2::getChildren': overriding virtual function return type differs and is not covariant from 'Base1::getChildren'