【发布时间】:2012-08-08 16:30:23
【问题描述】:
每次我读到接口时,都会提到它没有任何数据成员或实现。
但是当我看到带有接口的代码时,它们都有。
class IInterface
{
public:
IInterface(){}
virtual ~IInterface(){}
int getInt(){ return m_int; }
virtual void Boo() = 0;
int m_int;
};
class cInterface : public IInterface
{
public:
virtual void Boo()
{
printf( "defined in .cpp for readability\n" );
};
};
class cFoo : public cInterface
{
};
(几乎)我从来没有在源文件中看到它们,只有标题。
术语的使用有多严格,如果上面不是接口,它是如何调用的?
cInterface/cFoo作为IInterface*使用时是否反映了它的用法?
...
cFoo foo;
IInterface* object = &foo;
object->Boo();
...
【问题讨论】:
标签: c++ inheritance interface terminology