c++基础(类)
2019-04-30 本文已影响0人
zidea

在 c 语言中是没有类的概念,c++ 不同于 c 语言就是引入 OO 思想。面向对象思想对机器是无感知,机器并不知道什么是面向对象思想,也不关系。但是对于开发者是友好的,想象一下在复杂大型的代码中,所有 code 都在一个文件中。不是难于维护和阅读的。
类将相关的方法和属性组合在一起便于管理、维护和阅读。在游戏开发中我们少不了 Player ,没有 Player 的世界不就是《西部世界》了吗,而且通常不仅一个 Player,在吃鸡游戏中有成百上千个 Player 相互杀戮。
如果我们像下面这样一个一个地定义,不敢想象呀。
float PlayerAX, PlayerAY;
float PlayerASpeed;
float PlayerBX, PlayerBY;
float PlayerBSpeed;
这是我们就需要类解决问题,有关 Player 的属性和行为归结到 Player 类进行定义和使用。
class Player
{
public:
int x, y;
int speed;
void Move(int xa, int ya)
{
x += xa * speed;
y += ya * speed;
}
};
这里 class 可以理解为类型,所以 class 是不能重名的。我对具体细节例如如何定义一个类,这里在许多书籍中都可以找到答案的内容不会进行过多解释。想分享更多别人没有的东西,而且重在思想,其实语言只是思想的表现形式,什么语言并不重要,重要的是其背后的思想。
public:
int x, y;
int speed;
这使用 public 定义类属性 x, y speed 是公开的可见的,如果没有 public 在 class 中默认是 private 这意味属性是私有的对外不可调用的。