为了账号安全,请及时绑定邮箱和手机立即绑定
  • 常引用和常指针只能调用对象的常成员函数


    查看全部
  • 常指针和常引https://img1.sycdn.imooc.com//5b3c81ab000154ef09160599.jpg

    spacer.gif


    查看全部
  • 原函数和它的常成员函数互为重载

    当void changeX() 和void changeX()const 均存在时,实例化一个常成员才能调用常成员函数https://img1.sycdn.imooc.com//5b3c80dc00010e4d07880399.jpg

    查看全部
  • 常成员函数 的定义:
        void changeX() const;


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

    查看全部
    1. 对象各自的this指针指向各自对象的首地址,所以不同对象的this指针一定指向不同的内存地址

    2. this指针无需用户定义,是编译器自动产生的。

    3. 当成员函数的参数或临时变量与数据成员同名时,可以使用this指针区分同名的数据成员。

    4. this指针也是指针类型,所以在32位编译器下也占用4个基本的内存单元,即sizeof(this)的结果为4。

    查看全部
    0 采集 收起 来源:[C++]this指针

    2018-07-04

  • this指针只能在类的成员函数中使用,它指向该成员函数被调用的对象。this指针一般用于反回当前对象自身,由于this指针始终指向调用对象,因此不能在静态成员函数的定义中使用this指针。静态成员函数一般不需要调用对象,因此也就没有this指针。                                  

    查看全部
    0 采集 收起 来源:[C++]this指针

    2018-07-04

  • 示例:

    class Array{

    public:
        Array(int len){ this ->len = len;}

        int gerLen(){return len;}

        void setLen( int len){ this->len = len;}

    private:

         int len;  

    }

    查看全部
    0 采集 收起 来源:[C++]this指针

    2018-07-04

  • 在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址。this 指针是所有成员函数的隐含参数。因此,在成员函数内部,它可以用来指向调用对象。

    友元函数没有 this 指针,因为友元不是类的成员。只有成员函数才有 this 指针。


    查看全部
    0 采集 收起 来源:[C++]this指针

    2018-07-04

  • 对象成员指针

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

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


    查看全部
  • 当类的对象需要拷贝时,拷贝构造函数将会被调用。以下情况都会调用拷贝构造函数:
    (1)一个对象以值传递的方式传入函数体 
    (2)一个对象以值传递的方式从函数返回 
    (3)一个对象需要通过另外一个对象进行初始化。


    在某些状况下,类内成员变量需要动态开辟堆内存,如果实行位拷贝,也就是把对象里的值完全复制给另一个对象,如A=B。这时,如果B中有一个成员变量指针已经申请了内存,那A中的那个成员变量也指向同一块内存。这就出现了问题:当B把内存释放了(如:析构),这时A内的指针就是野指针了,出现运行错误。

      深拷贝和浅拷贝可以简单理解为:如果一个类拥有资源,当这个类的对象发生复制过程的时候,资源重新分配,这个过程就是深拷贝,反之,没有重新分配资源,就是浅拷贝。

    查看全部
    1. 实例化对象A时,如果对象A有对象成员B,那么先执行对象B的构造函数,再执行A的构造函数

    2. 如果对象A中有对象成员B,那么销毁对象A时,先执行对象A的析构函数,再执行B的析构函数。

    3. 如果对象A中有对象成员B,对象B没有默认构造函数,那么对象A必须在初始化列表中初始化对象B。

    查看全部
    0 采集 收起 来源:[C++]对象成员

    2018-07-04

  • 堆中实例化的数组需要手动销毁释放内存,在栈中实例化的数组,系统自动回收内存

    查看全部
    0 采集 收起 来源:[C++]对象数组

    2018-07-04

  • 实例化对象数组时,内存既可以从堆上分配,也可以从栈上分配

    查看全部
    0 采集 收起 来源:[C++]对象数组

    2018-07-04

  • 栈内存和堆内存的区别https://img1.sycdn.imooc.com//5b3b9d7f000140c909010439.jpg

    查看全部
    0 采集 收起 来源:[C++]对象数组

    2018-07-04

    1. 常对象只能调用常成员函数,不能调用普通成员函数

    2. 普通对象能够调用常成员函数,也能够调用普通成员函数

    3. 常指针和常引用都只能调用对象的常成员函数

    4. 一个对象可以有多个对象常引用

     0


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

    2018-06-26

举报

0/150
提交
取消
课程须知
本课程是C++初级课程 需要掌握C++语言基础语法 如果不太熟悉的话,可以观看: 《C++远征之起航篇》 《C++远征之离港篇》 《C++远征之封装篇(上)》
老师告诉你能学到什么?
1、对象数组的定义和使用 2、对象成员的定义和使用 3、深拷贝和浅拷贝 4、对象指针、对象引用的定义和使用 5、常对象指针、常对象引用、常成员函数的定义和使用

微信扫码,参与3人拼团

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

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