【发布时间】:2013-02-22 19:00:56
【问题描述】:
我的界面的类等概览!
Animal.H:
class Animal
{
public:
virtual void walk();
}
Animals.CPP
=空
牛.H:
class Cow : public Animal
{
public:
virtual void walk();
}
这里它应该异常地知道函数 walk 是从它派生的类中获取的,对吧? (例如Animal..)当它没有定义函数walk时,它应该说我应该定义它对...?
Cow.CPP:
void Cow::walk()
{
//do something specific for cow
}
SomeOtherClass.H
namespace SomeNamespace
{
void LetAnimalWalk();
}
SomeOtherClass.CPP
Cow myCow;
namespace SomeNamespace
{
void LetAnimalWalk()
{
myCow.walk();
}
}
这应该可以正常工作吗?...我的意思是命名空间,“Class::...”的东西?以及我继承和使用接口的方式?
因为这样我得到了我从接口创建的每个函数,所以每个虚函数都会给我以下错误:
SomeOtherClass.obj : error LNK2019: unresolved external symbol "public: virtual void __thiscall Cow::Walk (...etc etc...) referenced in function "void __cdecl SomeNamespace::LetAnimalWalk() (...etc etc...)
有谁知道我做错了什么,我发现的主要是这意味着我没有正确声明一个函数(在 Cow.cpp 中的某个地方??)
提前谢谢大家
【问题讨论】:
标签: c++ interface virtual lnk2019