为了账号安全,请及时绑定邮箱和手机立即绑定
  • 动画控制
    查看全部
    0 采集 收起 来源:开篇案例

    2016-04-13

  • 当对象使用const修饰时,简单的传值并不能达到赋值的效果,应该使用初始化列表的形式。
    查看全部
  • 常指针和常引用:<br> (1)常引用和常对象一样,相当于常对象的另一个标签,操作的都是同一块内存空间,常引用也只能调用常成员函数和类的静态成员函数。【静态数据成员不能直接访问到非静态私有数据成员和非静态公有数据成员】<br> (2)常指针,就是 "类型* const 指针名 = 地址值",即指向的内存空间的值是可变的,但是指针本身是不能被改变的<br> (3)理解好:<br> 指针指向的常量 ,“const 类型 *指针名 = 地址值”<br> 常指针指向的变量, “类型* const 指针名 = 地址值”<br> 常指针指向的常量,“类型* const 类型 *指针名 = 地址值”
    查看全部
  • 常成员函数中可以使用普通的数据成员,但是不能改变对象成员的值
    查看全部
    0 采集 收起

    2016-04-13

  • 为什么需要const成员函数? 我们定义的类的成员函数中,常常有一些成员函数不改变类的数据成员,也就是说,这些函数是"只读"函数,而有一些函数要修改类数据成员的值。如果把不改变数据成员的函数都加上const关键字进行标识,显然,可提高程序的可读性。其实,它还能提高程序的可靠性,已定义成const的成员函数,一旦企图修改数据成员的值,则编译器按错误处理。 const成员函数和const对象 实际上,const成员函数还有另外一项作用,即常量对象相关。对于内置的数据类型,我们可以定义它们的常量,用户自定义的类也一样,可以定义它们的常量对象。例如,定义一个整型常量的方法为: const int i=1 ; 同样,也可以定义常量对象,假定有一个类classA,定义该类的常量对象的方法为: const classA a(2); 这里,a是类classA的一个const对象,"2"传给它的构造函数参数。const对象的数据成员在对象生存期内不能改变。但是,如何保证该类的数据成员不被改变呢? 为了确保const对象的数据成员不会被改变,在C++中,const对象只能调用const成员函数。如果一个成员函数实际上没有对数据成员作任何形式的修改,但是它没有被const关键字限定的,也不能被常量对象调用。
    查看全部
  • 常成员函数调用
    查看全部
  • 类内的const成员变量必须通过初始化列表进行初始化。 常成员函数:通过const变量定义成员函数。 常成员函数:不能修改类内成员变量的值。 函数返回值类型 类名::函数名() const 《=》编译 函数返回值类型 函数名(const 类名 *this) class 类名 { public: void ChangeX() const; //互为重载函数 (只有常对象才能够调用) void ChangeX(); //互为重载函数(不建议这样做) private: int m_iX; } 常对象:通过const符定义的就是常对象,const 类名 对象名;
    查看全部
  • this指针也是指针类型,所以在32位编译器下也占用4个基本的内存单元,即sizeof(this)的结果为4。
    查看全部
    0 采集 收起 来源:练习题

    2016-04-12

  • this指针指向它所在对象本身的地址,return *this返回的是arr1的拷贝,是值传递,,并不是arr1,Array&(返回值类型是Array类型的引用)的作用是*this的返回值成为当前对象即arr1的引用。
    查看全部
  • this指针代表本对象的地址,编译时,编译器自动为每个成员函数添加this指针参数,从而,程序员可不用显示写出this参数。 this指针:指向对象自身数据的指针。 Array arr1 : this <=> &arr1 Array arr2 :this <=> &arr2
    查看全部
    0 采集 收起 来源:[C++]this指针

    2018-03-22

  • (1)32位的编译环境,一个指针占4个字节,1一个字节就是一个基本的内存单元,1Byte = 8 bit,即一个内存单元里可以存储2的8次方不同情况的高低电平。<br> (2)因为Line这个类中有,两个对象成员指针,所以占了8个字节。<br> (3)sizeof()函数返回的是整数,单位为“字节”. (4)64位的是32位的两倍
    查看全部
  • sizeof如果是两个int对象成员,则占8*2=16个内存单元,如果是两个指针的单元,则只占4*2=8个内存
    查看全部
  • new:分配内存的同时,自动调用对象的构造函数; malloc: 单纯的进行内存的分配,不会自动调用对象的构造函数。
    查看全部
    0 采集 收起 来源:[C++]对象指针

    2016-04-12

  • 浅拷贝就是直接将数据成员的值直接赋值过去,不包含指针就行,如果包含指针,就会把两个对象的指针指向了同一个内存空间,容易发生错误。
    查看全部
  • 如果数据成员里面不包含指针的话用浅拷贝即可<br> 如果数据成员里面包含指针的话,那就需要用到深拷贝,即为该指针在堆上开辟一块内存,并且将另外一个对象的数据全部赋给这个对象的数据成员
    查看全部

举报

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

微信扫码,参与3人拼团

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

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