为了账号安全,请及时绑定邮箱和手机立即绑定
  • 静态成员数据和静态成员函数的访问

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

    2019-03-20

  • 普通数据成员前加static成为静态数据成员(运用在记录自己类中某种状态)

    静态数据成员不依赖于对象,只依赖于类,不依赖于构造函数,必须单独实例化。

    普通数据成员只有实例化以后才存在。



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

    2019-03-20

  • 普通数据成员

    普通成员函数

    用const修饰后变为常数据成员和常成员函数

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

    2019-03-20

    • 静态数据成员:不依赖于对象(并不随着对象的产生而产生),依赖于类,单独初始化

    • 静态成员函数

    • 静态数据成员与成员函数可以通过类来访问

    • 在定义对象的时候静态数据成员的个数不会变化,始终为一个

    • 在静态成员函数中无法调用非静态成员函数和非静态的数据成员(静态成员函数不会把this指针作为参数)

    • 非静态的成员函数可以调用静态的成员函数和数据成员


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

    2019-03-19

  • 友元类注意事项

    友元只是封装的的补充,友元是类的封装性更差

    定向暴露数据

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

    2019-03-18

  • 友元类

    friend 类名,需要在之前申明该类

    可以在circle类中访问coordinate类


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

    2019-03-18

  • friend 位置可写到最外面,也可写在public, private中

    查看全部
  • time.cpp

    查看全部
  • Time.h

    查看全部
  • 友元成员函数

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

    2019-03-18

  • 友元类

    友元函数:友元全局函数,友元成员函数

    友元成员函数:(声明为其他类的成员函数)

    用关键字 friend 接友元函数,传入当前当前类的对象引用或指针,能够访问到私有成员,或保护成员


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

    2019-03-18

  • 注意一点:

    引用型参数应该在能被定义为const的情况下,尽量定义为const

    除非是想通过引用来改变它的值。

    查看全部
  • http://www.cnblogs.com/xiaofengkang/archive/2011/05/16/2048262.html

    引用的总结,


    程序中,任何临时“对象”都是const类型的,比如  :  cout<<"hello world"<<endl;   //"hello world" 默认就是一个const类型的

    倘若有个函数这么写:string_t(string &s);  

    调用:  string_t("hellow world");

    这是非法的,会报错,原因就是 :  创建引用的时候,"hello world"  是一个const类型,不能转化成非const类型。

    如果想要创建引用变量,必须在前面加上const关键字来修饰。

    例2:


    //函数定义

    void fun1(int& x)

    {

    cout<<x<<endl; 

    调用:

    const int a=10;

    fun1(a);


    结果就是报错。

    将定义改成如下(加上了const关键字):

    void fun1(const int& x)

    {

    cout<<x<<endl; 


    就正常运行


    查看全部
  • 在加法当中,我们并不希望改变某一个加数的值,所以加上const只是为了编程的规范(不写也可以)。

    查看全部
  • #include <iostream>

    using namespace std;


    /**

     * 定义一个矩形类模板Rect

     * 成员函数:calcArea()、calePerimeter()

     * 数据成员:m_length、m_height

     */

    template<typename T>

    class Rect

    {

    public:

        Rect(T length,T height);  //!!!!!!!!!!!!!

        T calcArea();

        T calcPerimeter();

    public:

    T m_length;

    T m_height;

    };


    /**

     * 类属性赋值

     */

    template<typename T>

    Rect<T>::Rect(T length, T height)

    {

    m_length = length;

    m_height = height;

    }


    /**

     * 面积方法实现

     */

    template<typename T>

    T Rect<T>::calcArea()

    {

    return m_length * m_height;

    }


    /**

     * 周长方法实现

     */

    template<typename T>

    T Rect<T>::calcPerimeter()

    {

    return ( m_length + m_height) * 2;

    }


    int main(void)

    {

    Rect<int> rect(3, 6);

    cout << rect.calcArea() << endl;

    cout << rect.calcPerimeter() << endl;

    return 0;

    }


    查看全部
    0 采集 收起 来源:单元巩固

    2019-03-15

举报

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

微信扫码,参与3人拼团

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

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