继承#
例子#
#include <iostream>
class Entity
{
public:
float X, Y;
void Move(float xa, float ya)
{
X += xa;
Y += ya;
}
};
//public表示子类继承的父类的成员变量/方法,
//最高只能是public。如果是class Player :protected Entity
//则原来父类中的public成员变量变成protected,但是原来的protected
//和private成员变量则不变
class Player :public Entity
{
public:
const char* Name;
void PrintName()
{
std::cout << Name << std::endl;
};
};
int main()
{
//64位系统,Entity两个float,占用了16字节
std::cout << sizeof(float) << std::endl;//4
std::cout << sizeof(char*) << std::endl;//8
std::cout << sizeof(Entity) << std::endl;//4+4=8
std::cout << sizeof(Player) << std::endl;//4+4+8=16
Player player;
player.Move(5, 5);
player.X = 2;
std::cin.get();
}多态:如果我现在创建一个独立的函数来打印Entity对象,例如通过访问X和Y变量并将它们打印出来。那我其实也可以将Player对象传递给该函数
















