-
坐标类构造函数没有参数,线段类实例化可以不使用初始化列表 坐标类必须有参数传入,线段类必须使用初始化列表的方式把数据传入查看全部
-
常成员函数不能改变数据成员的值的原因查看全部
-
常成员函数不能改变数据成员的值查看全部
-
类的数据成员用const修饰时必须用初始化列表初始化查看全部
-
this指针指向所在对象本身的地址查看全部
-
this的值是对象本身地址;*this 就是对象arr1 1、 Array ... return *this 相当于: Array arrX = arr1; arrX是一个新的对象。即返回的this指针为另一个临时对象 2、 Array& ... return *this 相当于: Array & arrX = arr1; 此时arrX是arr1的别名。 3、 Array* ... return this 相当于: Array* arrX = this; 此时arrX的值 是地址,且是指向arr1的。用->访问或者*p. 访问查看全部
-
this指针:编译器无法识别参数和数据成员,需要标记参数或者数据成员; 编译器会对每个成员函数的参数列表中加一个this指针;查看全部
-
使用对象指针,就会使用内存,若使用堆的方式实例化对象时,申请到的内存,要记得归还给系统(delete p;p== NULL;),否则会造成内存泄露; *p2 = &p1;p2可以操作p1;查看全部
-
(*p)该写法使指针变成一个对象; 使用new分配内存,可以自动调用类的构造函数,而C语言中使用malloc仅仅是分配内存空间;查看全部
-
Mark:注意他们之间的区别 1 Array Array::printInfo() { cout<<"len="<<len<<endl; return *this; } 2 Array& Array::printInfo() { cout<<"len="<<len<<endl; return *this; } 3 Array* Array::printInfo() { cout<<"len="<<len<<endl; return this; } ----》 1、 Array ... return *this 相当于: Array arrX = arr1; arrX是一个新的对象。即返回的this指针为另一个临时对象 2、 Array& ... return *this 相当于: Array & arrX = arr1; 此时arrX是arr1的别名。 3、 Array* ... return this 相当于: Array* arrX = this; 此时arrX的值 是地址,且是指向arr1的。用->访问或者*p. 访问查看全部
-
浅拷贝:简单的将数据的值进行拷贝 深拷贝:将指针所指的内存与内存中的数据拷贝出来查看全部
-
实例化对象A时,如果对象A有对象成员B,那么先执行对象B的构造函数,再执行A的构造函数。查看全部
-
line::line(int x,int y,int x1,int y1):m_coor(x1,y1),m_coor(x2,y2)初始化列表 坐标类构造函数没有参数,线段类实例化可以不使用初始化列表 坐标类有参数传入,线段类必须使用初始化列表的方式把数据传入查看全部
-
#include <iostream> using namespace std; class Coordinate { public: Coordinate(int x, int y) { // 设置X,Y的坐标 m_iX = x; m_iY = y; } public: int m_iX; int m_iY; }; int main(void) { // 在堆上创建对象指针 Coordinate *p = new Coordinate(3,5); // 打印坐标 cout <<"("<<(*p).m_iX<<","<<(*p).m_iY<<")"<< endl; // 销毁对象指针 delete p; p = NULL; return 0; }查看全部
-
注意dellete【】p非法,因为此时的p指向了非法元素查看全部
举报
0/150
提交
取消