-
p-> = p[0]
p+1 = p[1]
p+2 = p[2]
查看全部 -
Array &printInfo();
Array &setLen();
当函数的返回值是类的时候可以用 (对象).xx().xxx()...;的方法多次调用函数。
因为返回值是类,那么这个函数就相当于类的一个变量名;
如 Array arr1(10); arr1.printInfo().setLen()....最后一个跟的可以是其他类型
查看全部 -
this 指针就是指向自身的一个指针,当参数和成员变量同名时,eg:“Arrat(int len) {len = len;}”,编译器无法识别到底哪个是参数哪个是变量。
查看全部 -
当数据成员为CONST时 构造函数赋值需要使用初始化列表
查看全部 -
常指针:const Coordinate *pCoor
常引用:const Coordinate &coor2
查看全部 -
定义 const函数,编译器会生成 const *this
查看全部 -
编译器编译普通函数,会生成*this
查看全部 -
编译器编译普通函数,会生成*this
查看全部 -
十一、常指针与常引用
常引用只有读权限,也就只能调用常成员函数
*const pCoor 指向的位置无法改变,但是其所指位置的数据却是可以改变的。
const *pCoor 指向的位置可以改变,但是其所指位置的值却无法改变
查看全部 -
十一、const常对象和常成员函数
1、当用构造函数初始化const修饰的变量时,必须用初始化列表进行初始化才可以。
2、常成员函数
例: void changeX() const
//相当于 void changeX(const Coordinate *this)
3、changeX() 与changeX() const 可以说互为重载。
在以后调用时,若直接实例化对象,则该对象调用的是普通成员函数,只有加上const修饰实例化出常对象时,才能调用常成员函数。
查看全部 -
代码查看全部
-
十、this指针
1、设置的参数与数据成员重名的解决方法
this指针为指向对象自身数据的指针,通过this指针可以访问它表达的对象的自身的任何数据
例如:Array(int len){this->len=len;}
2、编译器编译时,其实给每个参数列表都加了this指针,为了方便访问数据
3、this指针在参数列表中的位置
查看全部 -
九、对象成员指针
类同对象成员,某实体(用类描述)的数据成员是一个另一个对象指针定义
关于内存:
例如line类中定义了Coordinate_A与Coordinate_B两个点,则line中只包含A、B的内存,m_iX与m_iY占用Coordinate类的内存,释放内存时先释放m_iX与m_iY的内存,再释放A、B内存。
查看全部 -
九、对象指针
1、指针对应
Coordinate *p=new Coordinate;
p指向的是第一个位置,即m_iX;(*p).m_iY指向m_iY
P->m_iX指向第一个m_iX;p->m_iY指向第一个m_iY
查看全部 -
修改成深拷贝方式
查看全部
举报