为了账号安全,请及时绑定邮箱和手机立即绑定
  • 输出运算符重载:友元函数实现   friend ostream& operator<<(ostream &out,const 类名 &引用名)

    https://img1.sycdn.imooc.com//5c70c41d0001bd2311220133.jpg


    https://img1.sycdn.imooc.com//5c70c3b80001958411360443.jpg

    https://img1.sycdn.imooc.com//5c70c4530001a4eb10200177.jpg

    本站就是将 cout<<coor  替换为了  cout<<coor.m_iX<<","<<coor.m_iY

    输出运算符不能使用成员函数重载

    查看全部
  • 二元运算符重载:   1成员函数重载  类名 operator 重载符号(const 类名 &引用名)

                        https://img1.sycdn.imooc.com//5c70bfe900017d4810820074.jpg

                         https://img1.sycdn.imooc.com//5c70c01c000150cf10860439.jpg

                         2友元函数重载    friend 类名 operator 重载符号(const 类名 &引用名1,const 类名 &引用名2)

                        https://img1.sycdn.imooc.com//5c70c17b0001f51911410119.jpg

                         https://img1.sycdn.imooc.com//5c70c1690001594711420497.jpg

    查看全部
  • 后置运算符重载:1成员函数重载  类名 operator 重载符号(int)

                                 https://img1.sycdn.imooc.com//5c70bd3f0001c2ae10530072.jpg

                                   https://img1.sycdn.imooc.com//5c70bd10000160ca07010501.jpg

    查看全部

  • 运算符重载:   1成员函数重载    类名&operator 重载符号()

                           https://img1.sycdn.imooc.com//5c70affc0001cc0106470071.jpg

                              https://img1.sycdn.imooc.com//5c70b02400013a3708380378.jpg

                   2 友元函数重载    friend 类名&operator 重载符号(类 &型参)

                        https://img1.sycdn.imooc.com//5c70b0e700018c5211210075.jpg                                      https://img1.sycdn.imooc.com//5c70b0fe0001268109570428.jpg

                

    查看全部
  • 静态成员和成员函数注意事项 

    https://img1.sycdn.imooc.com//5c70a7150001d12012290643.jpg

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

    2019-02-23

  • vector

    查看全部
  • 友元不具有传递性

    查看全部
    0 采集 收起 来源:练习题

    2019-02-20

  • 函数模板

    函数模板本身不会产生实质性的代码,函数模板的实例化对象即是模板函数,函数模板的使用在一定程度上可以减少重载函数的使用,但无法从根本上解决重载函数所带来的代码冗余的问题


    类型作为模板参数

    声明

    eg. template <class T>

    eg. template <typename T>

    实例

    eg. swap<int>(x,y);


    变量作为模板参数

    声明

    eg. template <int size>

    实例

    eg. dispaly<10>();


    多参数函数模板

    注意:模板类型参数中typename和class可以混用;模板类型参数和模            板变量参数可以混用

    声明

    eg. template <typename T,typename C>

    实例

    eg. display<int,string>(a,str);


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

    2019-02-06

  • 二元运算符重载

    (+)运算符的重载

    成员函数重载

    声明

    eg. Coordinate operator+(const Coordinate &coor);

    实例

    eg. coor3 = coor1 + coor2; //coor1.operator+(coor2);

    友元函数重载

    声明

    eg. friend Coordinate operator+(const Coordinate &coor1,const            Coordinate &coor2);

    实例

    eg. coor3 = coor1 + coor2; //operator+(coor1,coor2);


    (<<)(输出)运算符的重载

    注意:<<运算符的重载不能通过成员函数重载,因为<<运算符的第一个对象必须是ostream对象,而通过成员函数重载时第一个对象是当前对象

    友元函数重载

    声明

    eg. friend ostream& operator<<(ostream &cout,const Coordinate          &coor);

    实例

    eg. cout << coor; //operator<<(cout,coor);


    ([])(索引)运算符的重载

    注意:[]运算符的重载不能通过友元函数重载,因为[]运算符的第一个对象必须是当前对象,而通过友元函数重载时第一个对象既可以是当前对象也可以是其他对象

    成员函数重载

    声明

    eg. int operator[](int index);

    实例

    eg. cout << coor[0]; //coor.operator[](0);

    eg. cout << coor[1]; //coor.operator[](1);

    查看全部
  • 一元运算符重载

    运算符重载的本质是函数重载,分为成员函数重载和友元函数重载。

    (-)的重载

    成员函数重载

    eg. Coordinate& operator-();

    友元函数重载

    eg. friend Coordinate& operator-(Coordinate &coor);

    (++)的重载

    前置++

    eg. Coordinate& operator++();

    后置++

    eg. Coordinate operator++(int);

    查看全部
  • 有关类的静态成员的注意事项

    1.静态成员变量必须单独初始化

    2.静态成员函数无法调用非静态成员

    3.静态成员变量只有一份,且不依赖对象而存在

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

    2019-02-04

  • 类的静态成员依赖于类,而类的普通成员则依赖于类的实例化对象。

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

    2019-02-04

  • 友元只是封装的补充,友元的使用破坏了封装性,实践时应尽量避免使用友元。

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

    2019-02-04

  • 关于友元的注意事项

    1.友元关系不可传递

    2.友元关系的单向性

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

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

    2019-02-04

  • return *this;//返回对象本身


    查看全部

举报

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

微信扫码,参与3人拼团

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

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