S
santosh
Hi All ,
Why does the below code doesn't compile??
class Interface
{
public:
virtual void funA() = 0;
virtual void funB() = 0;
virtual void funD() = 0;
Interface();
~Interface();
};
class A : public Interface
{
public:
A();
~A();
void funA()
{
printf("A::funA");
}
};
class B : public Interface
{
public:
B();
~B();
void funB()
{
printf("B::funB");
}
};
class D: virtual public A , virtual public B
{
public:
D();
~D();
void funD()
{
printf("D::funD");
}
};
int _tmain(int argc, _TCHAR* argv[])
{
D *d;
d = new D;
return 0;
}
COMPILER ERRORS::
error C2259: 'D' : cannot instantiate abstract class
due to following members:
'void Interface::funB(void)' : pure virtual function was not defined
d:\TestCPP\TestCPP.cpp(11) : see declaration of 'Interface::funB'
'void Interface::funA(void)' : pure virtual function was not defined
d:\TestCPP\TestCPP.cpp(10) : see declaration of 'Interface::funA'
Thanks
-Sanotsh
//AbstractInterface
Why does the below code doesn't compile??
class Interface
{
public:
virtual void funA() = 0;
virtual void funB() = 0;
virtual void funD() = 0;
Interface();
~Interface();
};
class A : public Interface
{
public:
A();
~A();
void funA()
{
printf("A::funA");
}
};
class B : public Interface
{
public:
B();
~B();
void funB()
{
printf("B::funB");
}
};
class D: virtual public A , virtual public B
{
public:
D();
~D();
void funD()
{
printf("D::funD");
}
};
int _tmain(int argc, _TCHAR* argv[])
{
D *d;
d = new D;
return 0;
}
COMPILER ERRORS::
error C2259: 'D' : cannot instantiate abstract class
due to following members:
'void Interface::funB(void)' : pure virtual function was not defined
d:\TestCPP\TestCPP.cpp(11) : see declaration of 'Interface::funB'
'void Interface::funA(void)' : pure virtual function was not defined
d:\TestCPP\TestCPP.cpp(10) : see declaration of 'Interface::funA'
Thanks
-Sanotsh
//AbstractInterface