为了账号安全,请及时绑定邮箱和手机立即绑定
  • 浅拷贝会使指针内存泄露
    查看全部
  • const成员函数对比2
    查看全部
  • const函数对比变化1
    查看全部
  • 常成员函数不能更新对象的数据,也不能调用非const修饰的成员函数。 常成员函数中可以使用普通的数据成员,但是不能改变对象成员的值; 常对象只能调用类的常成员函数以及类的静态成员函数; 然而非常对象也可以调用常成员函数。 上面是简单的总结。
    查看全部
  • 常成员函数能由常对象(只有读权限)去访问,且不允许常成员函数修改对象的成员变量(没有写权限),所以不能调用非常成员函数,因为这些成员函数可能修改常对象中的成员变量。 而普通成员函数可以调用常成员函数。 1. 常对象只能调用常成员函数。 2. 普通对象可以调用全部成员函数。 3. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含使用this指针。
    查看全部
    0 采集 收起

    2016-04-01

  • 常成员函数中可以使用普通的数据成员,但是不能改变对象成员的值
    查看全部
    0 采集 收起

    2016-04-01

  • 通过常对象调用的函数为常成员函数
    查看全部
  • 常成员函数和同名成员函数互为重载
    查看全部
  • 深拷贝要先申请一段内存,再将需要拷贝的值用for循环一个一个赋值
    查看全部
  • 常成员函数
    查看全部
  • #include "Line.h" #include <iostream> using namespace std; Line::Line(int x1,int y1,int x2,int y2):m_coorA(x1,x2),m_coorB(x2,y2) { cout <<"Line()" <<endl; } Line::~Line() { cout <<"~Line" <<endl; } void Line::setA(int x,int y) { m_coorA.setX(x); m_coorA.setY(y); } void Line::setB(int x,int y) { m_coorB.setX(x); m_coorB.setY(y); } void Line::printInfo() { cout << "(" << m_coorA.getX() <<"," << m_coorA.getY() <<")"<<endl; cout << "(" << m_coorB.getX() <<"," << m_coorB.getY() <<")"<<endl; } #include <iostream> #include <stdlib.h> #include "Line.h" using namespace std; int main(void) { Line *p = new Line(1,2,3,4); p->printInfo(); delete p; p = NULL; system("pause"); return 0; }
    查看全部
  • class Coordinate { public: Coordinate(int x,int y); ~Coordinate(); void setX(int x); int getX(); void setY(int y); int getY(); private: int m_iX; int m_iY; }; #include "Coordinate.h" #include <iostream> using namespace std; Coordinate::Coordinate(int x,int y) { m_iX = x; m_iY = y; cout <<"Coordinate()" << m_iX << "," <<m_iY<<endl; } Coordinate::~Coordinate() { cout <<"~Coordinate()" << m_iX << "," <<m_iY<<endl; } void Coordinate::setX(int x) { m_iX = x; } int Coordinate::getX() { return m_iX; } void Coordinate::setY(int y) { m_iY = y; } int Coordinate::getY() { return m_iY; } #include "Coordinate.h" class Line { public: Line(int x1,int y1,int x2,int y2); ~Line(); void setA(int x,int y); void setB(int x,int y); void printInfo(); private: Coordinate m_coorA; Coordinate m_coorB; };
    查看全部
  • #include "Line.h" #include <iostream> using namespace std; Line::Line() { cout <<"Line()" <<endl; } Line::~Line() { cout <<"~Line" <<endl; } void Line::setA(int x,int y) { m_coorA.setX(x); m_coorA.setY(y); } void Line::setB(int x,int y) { m_coorB.setX(x); m_coorB.setY(y); } void Line::printInfo() { cout << "(" << m_coorA.getX() <<"," << m_coorA.getY() <<")"<<endl; cout << "(" << m_coorB.getX() <<"," << m_coorB.getY() <<")"<<endl; } #include <iostream> #include <stdlib.h> #include "Line.h" using namespace std; int main(void) { Line *p = new Line(); delete p; p = NULL; system("pause"); return 0; }
    查看全部
  • class Coordinate { public: Coordinate(); ~Coordinate(); void setX(int x); int getX(); void setY(int y); int getY(); private: int m_iX; int m_iY; }; #include "Coordinate.h" #include <iostream> using namespace std; Coordinate::Coordinate() { cout <<"Coordinate()" <<endl; } Coordinate::~Coordinate() { cout <<"~Coordinate()" <<endl; } void Coordinate::setX(int x) { m_iX = x; } int Coordinate::getX() { return m_iX; } void Coordinate::setY(int y) { m_iY = y; } int Coordinate::getY() { return m_iY; } #include "Coordinate.h" class Line { public: Line(); ~Line(); void setA(int x,int y); void setB(int x,int y); void printInfo(); private: Coordinate m_coorA; Coordinate m_coorB; };
    查看全部
  • shilihua
    查看全部
    0 采集 收起 来源:[C++]对象指针

    2016-03-31

举报

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

微信扫码,参与3人拼团

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

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