pam*_*eho 1 c++ inheritance abstract-class class
我已经开始学习C++,我已经知道C和Java了.我开始学习它因为我想开始使用面向对象的编程.
但是,由于编译器生成"对于Vtable for Actor"的未定义引用,因此我无法使用代码.在这里你有代码产生相同的错误,而不是原始的错误,因为它不太清楚.我真的不知道是什么原因造成的.
struct Actor
{
int x, y;
virtual void move();
};
struct Player : Actor
{
Player(int a, int b)
{
x = a;
y = b;
}
void move();
void draw();
};
void Player::move()
{
++x;
};
main()
{
Actor *act;
act = new Player(10, 20);
}
Run Code Online (Sandbox Code Playgroud)
这个问题可能是愚蠢的,我不知道,我到处挖,但没有发现什么可以解决我的问题.
您需要创建virtual void move();
一个纯虚函数:
virtual void move() = 0;
Run Code Online (Sandbox Code Playgroud)
或定义Actor::move()
基类
void Actor::move()
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2306 次 |
最近记录: |