美文网首页
c++学习笔记 二(geekband)

c++学习笔记 二(geekband)

作者: huManYang | 来源:发表于2016-08-01 21:00 被阅读0次

    Class的两个经典的分类

    class without pointer member(s)

    class with pointer mumber(s)

    类的特殊成员函数

    构造函数

    与内置类型的初始化操作相似,将类的数据初始化,初始化的顺序与类内定义的数据成员顺序相同;

    类名(形参表){...}

    无返回值类型,其他与成员函数一样。

    拷贝构造函数

    与拷贝构造形式相似,数据在类中传递

    类名(类名 &对象名){...}

    拷贝赋值函数

    操作符=的重载

    类类型 &  operator =(类名& 对象名){...

    return *this

    }

    析构函数

    在程序结束是调用,做收尾工作

    ~类名(){...}

    动态内存

    程序中栈内存是静态内存,堆内存是动态内存可以使用new来分配动态空间;

    类名*P=new 类名;

    与delete P;配合使用

    也可以分配动态数组

    类名*P=new 类名[];

    与delete []P配合;

    切记:一定要用delete 释放内存,否则内存泄漏;


    类的静态数据成员

    静态数据成员

    用关键字static声明

    为该类的所有对象共享,静态数据成员具有静态生存期。

    必须在类外定义和初始化,用(::)来指明所属的类。

    类的静态函数成员

    类外代码可以使用类名和作用域操作符来调用静态成员函数。

    静态成员函数主要用于处理该类的静态数据成员,可以直接调用静态成员函数。

    如果访问非静态成员,要通过对象来访问。


    面对对象

    继承    复合    委托

    继承

    有三种方式继承 :public ,protect,private

    常用公用继承

    继承的构造函数

    先初始化基类,再初始化派生类。

    派生类名::派生类名(参数表):基类名1(基类1初始化参数表),  ...  ,基类名n(基类名n初始化参数),成员对象名1(成员对象1初始化参数列表), ... , 成员对象名m(成员对象m初始化参数列表)

    {

    派生类构造函数的其他操作;

    }

    继承的析构函数

    先初始化派生类,再初始化基类。


    虚函数

    non-virtual 你不希望派生类继承重新定义;

    virtual 你希望通过派生类继承重新定义;

    pure virtual  你希望派生类继承并且一定要重新定义;

    相关文章

      网友评论

          本文标题:c++学习笔记 二(geekband)

          本文链接:https://www.haomeiwen.com/subject/gfcfsttx.html