前言
好久不见,由于博主最近沉迷黑猴,导致现在才更新这篇文章.
(黑猴确实好玩)
先来回顾下上篇文章的内容:
1. 三种静态
static:说白了分这三种:
- 其他文件内部的静态 这种静态会导致在编译的时候 加入static关键词的变量会只在那个文件内进行连接
- 类内部的静态,在类内部的静态会导致方法\变量变为静态抽象类,导致其不可调用. static的类方法无法使用非static的变量
- 函数内部的static,会导致被其修饰的变量会在整个函数生存过程中进行,一直存在
2 .枚举
枚举类似于一个类比,如
enum Example {
A,B,C
};
里面的会进行递增
3. 构造函数
构造函数就是类进行初始化时的函数
4.析构函数
析构函数就是类销毁变量的时候进行的
5. 虚函数
虚函数就是在父类中去定义,由子类去实现的函数,当其被置为0时,会强制让子类去实现,变为纯虚函数(接口)
详情见:
Secure Coding in C and C ++ (四)局部静态构造函数 虚函数
今天我们将进行剩余的内容
1.可见性
先来看 private:
如:
class Entity {
private: int x, y;
public:
Entity()
{
x = 2;
}
};
class Printable : public Entity {
};
int main()
{
Entity e;
e.x = 2;
}
这里在main中进行赋值 x=2 是行不通的
因为x y 在类中被private所修饰了
所以只属于 Entity类,就连其子类也不可以进行访问,只有Entity类和他的friend可以访问
再来看下protected
这代表着只有其子类可以访问
还有就是public了
public很简单,所有都可见.