我们在笔记7中说道了class 与struct分别默认私有与默认公有。
这次我们细致写一下可见性,可见性就是指变量或方法有多可见,或是说什么可以调用它、什么可以看见他、什么可以修改它。
C艹中有三种可见性修饰符分别是private、protected、public
class Entity
{
private:
int x,y;
};
private
private表示变量私有,只有Entity类可以访问并修改(暂不考虑friend)
class Entity
{
private:
int x,y;
};
class Player:pbulic Entity
{
public:
void palyer()
{
x++;
}
};
int main();
{
Entity e;
e.x = 2;
std::cin.get();
}
以上函数中class中Player函数与main函数中对x赋值都是无效操作,因为private只在Entity类内可以被访问。
protected
class Entity
{
protected:
int x,y;
};
protected处于私有与公有之间,比私有可见,比公有不可见。
class Entity
{
protected:
int x,y;
};
class Player:pbulic Entity
{
public:
void palyer()
{
x++;
}
};
int main();
{
Entity e;
e.x = 2;
std::cin.get();
}
以上函数中class中Player函数对x操作是有效的,而main函数中对x赋值都是无效操作。因为pprotected只在Entity类及其子类内可以被访问。
public
public意味着所有都可以访问,相当于全局变量。