为了账号安全,请及时绑定邮箱和手机立即绑定
  • 静态数据成员与普通数据成员最大的区别:不依赖于对象,而是在类声明的时候就存在并且独立存在,是该类所特有的一个值。

    比如说,我们定义一个学生类,该类有一个静态成员Icount,则该成员便是代表学生类对象数量,初始值为0,每次创建一个学生对象便加1,减少一个学生对象就减去1,始终存在。

    静态数据成员的初始化可以直接在类后通过类名进行,如图。

    而若想对静态成员变量COUNT进行修改,也只能通过专有的接口——静态函数进行变化,普通的成员函数不能对其操作,这也是静态函数存在的理由。当然,构造函数和析构函数也可以直接对静态成员进行操作,这是为了方便静态成员的使用。——在构造和析构时快捷的对计数用的静态成员进行变化。

    查看全部
    0 采集 收起 来源:[C++]静态

    2020-03-11

  • 标准模板库:向量

    初始化:

    vector<T>v1;

    vector<T>v2(v1);

    vector<T>v3(n,i);

    vector<T>v4)(n);

    查看全部
  • 类模板:template<class T>

    template<typename Y, int KSize>

    查看全部
    0 采集 收起 来源:[C++]类模板

    2020-03-11

  • 模板的关键字:template 

    声明参数:typename 和 class(用来表明数据类型)

    template<class T>
    T max(T a, T b)
    {
        return (a>b)?a:b;
    }//函数模板


    查看全部
    0 采集 收起 来源:[C++]函数模板

    2020-03-11

  • 前置/后置++重载:


    //前置:
    Coordinate &operator ++();
    Coordinate &Coordinate::operator++()
    {
        m_iX++;
        m_iY++;
        return *this;
    }
    //后置:
    Coordinate operator++(int);
    Coordinate Coordinate::operator++(int)
    {
        Coordinate old(*this);
        this->m_iX++;
        this->m_iY++;
        return old;
    
    }



    查看全部
  • Coordinate &operator-();//成员函数符号重载

    friend Coorainate &operator-(Coordinate &c);//友元函数符号重载


    查看全部
  • 静态:static

    注意事项:

    静态数据成员必须单独初始化;

    静态成员函数不能调用非静态成员函数和非静态数据成员;

    静态数据成员只有一份,且不依赖对象存在。



    查看全部
    0 采集 收起 来源:[C++]静态

    2020-03-11

  • 友元类:friend 类名;

    注意事项;

    友元关系不可传递;

    友元关系的单向性;

    友元声明的形式以及数量不受限制

    查看全部
    0 采集 收起 来源:[C++]友元类

    2020-03-11

  • 友元全局函数;友元成员函数

    查看全部
  • 友元函数可以直接访问私有成员;

    查看全部
    0 采集 收起 来源:[C++]友元函数

    2020-03-11

  • map插入没有push_back 方法,用insert方法进行插入

    可用键索引,也用用迭代器,迭代器指针指向一个元素为键,第二个为值


    map需要分别输出key和value 分别是first second


    查看全部
  • map:映射

    存储的数据都是成对出现,

    http://img2.sycdn.imooc.com/5e3540300001d2de12920724.jpg

    具体使用方法:(访问方式和数组类似,map对象名[key])

    http://img1.sycdn.imooc.com/5e35403b0001b2b311340642.jpg

    注意m[“S”]

    http://img2.sycdn.imooc.com/5e35404b0001e78c11380672.jpg


    查看全部
  • list:链表模板

    特点:数据插入速度快

    每个节点:数据域&指针部分

    双链表:既可以从头找到尾,也可尾到头。

    插入操作,向量比链表较复杂http://img1.sycdn.imooc.com/5e353f0e0001680a12180520.jpg


    查看全部
  • c++标准模板库:

    STL:标准模板库

    STL:Standard Template Lib

    1.vector 向量 (本质:对数组的封装)

        特点:读取能在常数时间完成


    具体在使用时:

    vector<int> ivec1;//初始化一个空的向量
    vector<int> ivec2(ivet1);
    
    vector<string> svac1;
    vector<string> svec2(ivec);
    
    vetor<int> ivet4(10,-1);//用10个-1这样的元素初始化了ivet4这个向量
    vetor<string> svec(10,"hi!"); //用10个这样的字符串元素初始化了ivet4这个向量

    http://img1.sycdn.imooc.com//5e672a210001321610910587.jpg

    查看全部
  • 为什么要有模板:

    int max(int a,int b){return (a>b)?a:b;}
    int max(float a,float b){return (a>b)?a:b;}
    int max(char a,char b){return (a>b)?a:b;}
    //除了类型不一样其他逻辑都一样
    方案:把类型作为参数传进计算机

    template<typename T> 函数模版

    查看全部
    0 采集 收起 来源:[C++]函数模板

    2020-03-10

举报

0/150
提交
取消
课程须知
学习本课程需要有一定的C语言和C++语言基础。如基础不太扎实的同学可以,参与C++远征攻略的学习计划,友情链接 http://www.imooc.com/course/programdetail/pid/42
老师告诉你能学到什么?
1、友元函数及友元类的定义及使用方法 2、静态数据成员和静态成员函数的定义及使用方法 3、运算符重载的技巧 4、函数模板和类模板的定义及使用方法 5、标准模板库的使用方法及基本原理

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!