C++ 知识点

一、类

    1、结构共享体模板类、模板函数。

      类和结构:之间的唯一区别是默认访问权限不一样。

      共享体:成员变量共享内存

      模板类,模板函数:定义template <class T, int i> 可传递类型或者是,可使代码得到重用,且不影响类型检查

二、类的成员函数

    1、构造函数

       拷贝构造函数:初始化列表不使用此构造函数。A(const A& a) A a = b(调用该函数)

       赋值构造函数: A& operate =(const A& a) A a; a=b(调用该函数)

       默认构造函数:A()

       一个参数的构造函数:A(int i) A a = 1;

                           隐式调用此构造函数 如果此构造函数声明为explicit则该式报错,只能A a(1);

    2、析构函数: ~A()

    3、纯虚函数:virtual void XX()=0 子类必须覆盖。

    4、虚函数:virtual void XX()可被覆盖,只在被子类生成的基类实体调用才有意义。

         (1)、每个类的实体都会生成一个虚函数表,来维护虚函数。

         (2)、虚函数表的结构类似邻接表,如图

           

    4、const函数:XX()const; 不能修改成员变量。

    5、static函数:类的函数,被所有实体共享,实体也可调用。

三、类的成员变量

    1、static 类型变量:初始化int A:c=1;定义static int c;类的所有实体共享的变量;只会被初始化一次。

    2、const 类型变量:只能在初始化列表中初始化,初始化后不能被修改。

    3、const static 类型变量:需要在定义的时候同时初始化。

    4、mutable 类型变量:可以被const函数修改;const类型实体的该成员变量可以被修改。

四、类生命过程

    基类构造函数->子类构造函数->子类析构函数->基类析构函数。

五、类访问权限

    public(static,const,普通)可在本类以外的地方使用。

    protected 可被自己或者孩子使用。

    private 可被自己使用。

    利用虚函数表可以使用基类private修饰的虚函数。

    友元函数,友元类:打破此权限控制,具体做法:将自己在A类中注册为friend 后,则可以调用A的任何函数或者变量。

六、类的继承性

       所有成员(static,const,普通)皆可被继承。

       如果是private(public,protected)继承的话,从基类继承的成员都将转为private((public,protected),protected)

七、类的内存结构

    按照声明先后顺序依次排列,可以像数组一样用{}初始化(成员变量必须都是公有的、没有用户定义的构造函数)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值