@The Cherno C++ Series ( p18- p20 )
学习C++ 我觉得最重要的是要改变编程思维——面向对象,写太久C,感觉好难转变啊。
C++ Series
C# / Java 就最好是用面向对象的编程风格,因为更适合。
而C++ 支持面向对象/基于对象/面向过程/泛型编程
class
- 类就是将数据and/or函数组织在一起的方式
class Player
{
public:
int x, y;
int speed;
void move(int xa, int ya)
{
x += xa * speed;
y += ya * speed;
};
};
- 由类类型创建的变量叫对象(object),这个创建过程叫实例化。
- 默认情况下,类成员变量的访问控制是私有的。
struct
- 默认情况下,结构体成员变量的访问控制是公有的。
- C++中有struct是为了兼容C (#define struct class)但是可能会有公私有问题
- 在C++中,我们把传统的C风格的struct叫做POD(Plain Old Data),适合struct。
- 如果涉及到继承,还是用类;希望struct只是代替一些数据,不建议一个变量混用class和struct,会有警告。
- 从技术上来说,两者除了可见性没什么区别。