-
常对象成员初始化必须使用初始化列表查看全部
-
#include <iostream> using namespace std; class Coordinate { public: Coordinate(int x, int y) { m_iX = x; m_iY = y; } // 打印坐标的函数 void printInfo() { cout << "("<< m_iX << "," << m_iY << ")" << endl; } public: int m_iX; int m_iY; }; int main(void) { //定义对象数组 Coordinate coorArr[2]{{1,2},{3,4}}; //遍历数组,打印对象信息 for(int i = 0; i < 2; i++) { coorArr[i].printInfo(); } return 0; }查看全部
-
this指代的是哪个类,取决于this位于哪个类中查看全部
-
这里的意思是指针代表的堆中内存的地址,对于32位编译器而言,地址就应该是4字节(32位)。查看全部
-
对象的常引用和常指针,常引用只有读权限,常引用只能调用常成员函数(后加const的函数),常指针只能调用常成员函数。一个对象可以有多个对象常引用。常对象只能调用常成员函数。普通对象能够调用常成员函数,也能够调用普通成员函数。常指针和常引用都只能调用对象的常成员函数。查看全部
-
常成员函数的本质是内部使用常this指针。 常成员函数内使用数据成员时,不能改变数据成员的值。 常成员函数中可以使用普通的数据成员,但是不能改变对象成员的值 常成员函数内不能调用普通的成员函数。查看全部
-
常对象只能调用常成员函数。 2. 普通对象可以调用全部成员函数。 3. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含使用this指针。 4. 当一个成员函数被调用时,自动向它传递一个隐含的参数,该参数是一个指向这个成员函数所在的对象的指针。 5.在X类的const成员函数中,this指针的类型为:const X* const, 这说明this指针所指向的这种对象是不可修改的(即不能对这种对象的数据成员进行赋值操作)。查看全部
-
1、this指针无需用户定义,是编译器自动产生的。 2、同一个类的两个对象的this指针指向不同位置的内存:对象各自的this指针指向各自对象的首地址,所以不同对象的this指针一定指向不同的内存地址 3、当成员函数的参数或临时变量与数据成员同名时,可以使用this指针区分同名的数据成员。 4、this指针也是指针类型,所以在32位编译器下也占用4个基本的内存单元,即sizeof(this)的结果为4。查看全部
-
当数据成员中含有指针时,浅拷贝会使两个对象的成员指针指向相同的内存地址 深拷贝不是简单的值拷贝,而是将指针成员指向的内存数据也进行拷贝。 不是所有的对象都需要深拷贝,应该根据情况合理使用。 关于浅复制: 在用一个对象初始化另一个对象时,只复制了数据成员,而没有复制资源,使两个对象同时指向了同一资源的复制方式称为浅复制; 默认复制构造函数所进行的是简单数据复制,即浅复制。 关于深复制: 通过一个对象初始化另一个对象时,不仅复制了数据成员,也复制了资源的复制方式称为深复制。查看全部
-
默认构造函数:无参构造函数,有参构造函数切所有参数均进行默认这样的两种函数叫做默认构造函数。(切记,如果函数的参数没有全部进行默认则不叫默认构造函数。) 对象成员如果没有默认构造函数那么外部对象必须对对象成员进行初始化!查看全部
-
常成员函数的本质是内部使用常this指针。 常成员函数内使用数据成员时,不能改变数据成员的值。 常成员函数中可以使用普通的数据成员,但是不能改变对象成员的值 常成员函数内不能调用普通的成员函数。查看全部
-
this指针无需用户定义,是编译器自动产生的 对象各自的this指针指向各自对象的首地址,所以不同对象的this指针一定指向不同的内存地址 当成员函数的参数或临时变量与数据成员同名时,可以使用this指针区分同名的数据成员 this指针也是指针类型,所以在32位编译器下也占用4个基本的内存单元,即sizeof(this)的结果为4查看全部
-
动画控制查看全部
-
。。。。查看全部
-
重要i查看全部
举报
0/150
提交
取消