为了账号安全,请及时绑定邮箱和手机立即绑定
  • this指针的地址就是它所在对象本身的地址

    查看全部
  • 截图

    查看全部
  • return *this返回的是arr1的拷贝,是值传递,,并不是arr1。 Array& 的返回值成为当前对象即arr1的引用 返回指针 Coordinate *c(int x=5) { this->x = x; return this; }
    查看全部
  • 对象成员:一个对象作为另外一个类的数据成员

    对象成员指针:一个对象的指针作为另外一个类的数据成员

    1.对象成员指针的定义: 类名 * 指针名 是指针而不是对象

    2.指针在32位编译器和64位编译器下的结果(x64 与 x86)

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

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



    3.若存在对象成员指针1,2……。sizeof(指针1,指针2……)只计算各指针所

    占内存的总和,不计算对象成员所占内存

    对象成员指针如果在构造函数用 new 的方式从堆中申请内存实例化2个

    Coordinate 对象,那这2个对象都是在堆中,而不在 Line 对象中,因为每个指

    针占 4 个内存单元,因此 sizeof(Line) 只占 8 个内存单元,销毁 Line 的时

    候,先销毁队中的内存,在释放 Line 本身的内存

    查看全部
  • C++在new时的初始化的规律可能为:对于有构造函数的类,不论有没有括号,都用构造函数进行初始化;如果没有构造函数,则不加括号的new只分配内存空间,不进行内存的初始化,而加了括号的new会在分配内存的同时初始化为0。class Coordinate { public: int m_iX; } int main(void { Coordinate *p = new Coordinate(); cout << p->m_iX << endl; return 0; } 输出结果为0

    查看全部
    1 采集 收起 来源:[C++]对象指针

    2018-04-08

  • C语言的malloc与C++的new都具有申请新内存空间的作用,但是new会调用对象的构造函数,而malloc不会调用

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

    2018-04-08

  • 深拷贝实例

    class Array { public: Array(int count); Array(const Array &arr); ~Array(); void setCount(int count); int getCount(); void printAddr(); void printArr(); private: int m_iCount; int *m_pArr; }; #include"Array.h" #include <iostream> using namespace std; Array::Array(int count) { m_iCount = count; m_pArr=new int[m_iCount]; for(int i=0;i<m_iCount;i++) { m_pArr[i]=i; } cout << "Array" <<endl; } Array::Array(const Array &arr) { m_iCount = arr.m_iCount; m_pArr =new int[m_iCount]; for(int i=0;i<m_iCount;i++) { m_pArr[i] = arr.m_pArr[i]; } cout <<"Array&" <<endl; } Array::~Array() { delete []m_pArr; m_pArr = NULL; cout <<"~Array" <<endl; } void Array::setCount(int count) { m_iCount = count; } int Array::getCount() { return m_iCount; } void Array::printAddr() { cout <<"m_pArr=" <<m_pArr <<endl; } void Array::printArr() { for(int i=0;i<m_iCount;i++) { cout << m_pArr[i] <<endl; } }

    查看全部
  • 浅拷贝只拷贝指针,但拷贝后两个指针指向同一个内存空间;深拷贝不但对指针进行拷贝,而且对指针指向的内容进行拷贝,经深拷贝后的指针指向两个不同地址。当类成员不包括指针何引用时,浅拷贝并无问题;但对于指针与引用成员,当对象的生命周期结束后,浅拷贝会造成同一块内存单元被释放两次,导致内存泄漏。
    查看全部
  • 选定一段代码 ctrl+K+C可以注释整段代码

    查看全部
  • 普通对象可以调用常成员函数,也可以调用普通成员函数。

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

    2018-04-04

  • 想我初学C++的时候,还是VC6.0视频横行天下的时候。那时候看视频就觉得老是和自己用的vs2010环境搭不上而苦恼万分。现在vs2015都出了,我用的还是2010.虽然和视频很搭,但是该高兴呢还是无奈╮(╯╰)╭

    查看全部
  • this是墙头草啊,有奶便是娘。在谁那里指向谁。。

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

    2018-04-04

  • 为防止调用头文件发生类重定义的错误,可如下处理

    在头文件最上方写:

      #ifndef XXXXXXX

      #define XXXXXXX

      文件最后

      #endif


    查看全部
  • 在main函数文件中,头文件不能重复调用,即在调用的头文件Line中包含的Coordinate不能再调用。否则会报错,显示类重定义。

    查看全部
  • 类的构造函数中包含指针p,要在析构函数中释放内存以及赋值“NULL”

    查看全部

举报

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

微信扫码,参与3人拼团

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

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