class A
{
public: virtual A & operator + (const A &obj) = 0;
};
class B : public A
{
public: B & operator + (const A &obj)
{
return *this;
}
};
int main()
{
A** ptrA = new A*[3];
B obj[3];
for (int i = 0; i < 3; i++)
ptrA[i] = &obj[i];
*ptrA[0] = *ptrA[1] + *ptrA[2];
return 0;
}