-
在栈中和在堆中实例化对象数组查看全部
-
为什么需要const成员函数? 我们定义的类的成员函数中,常常有一些成员函数不改变类的数据成员,也就是说,这些函数是"只读"函数,而有一些函数要修改类数据成员的值。如果把不改变数据成员的函数都加上const关键字进行标识,显然,可提高程序的可读性。其实,它还能提高程序的可靠性,已定义成const的成员函数,一旦企图修改数据成员的值,则编译器按错误处理。 const成员函数和const对象 实际上,const成员函数还有另外一项作用,即常量对象相关。对于内置的数据类型,我们可以定义它们的常量,用户自定义的类也一样,可以定义它们的常量对象。例如,定义一个整型常量的方法为: const int i=1 ; 同样,也可以定义常量对象,假定有一个类classA,定义该类的常量对象的方法为: const classA a(2); 这里,a是类classA的一个const对象,"2"传给它的构造函数参数。const对象的数据成员在对象生存期内不能改变。但是,如何保证该类的数据成员不被改变呢? 为了确保const对象的数据成员不会被改变,在C++中,const对象只能调用const成员函数。如果一个成员函数实际上没有对数据成员作任何形式的修改,但是它没有被const关键字限定的,也不能被常量对象调用。查看全部
-
呵呵查看全部
-
对象各自的this指针指向各自对象的首地址,所以不同对象的this指针一定指向不同的内存地址查看全部
-
对对对查看全部
-
不太明白查看全部
-
类在内存中的存储方式;实例化了三个类,三个类的数据成员分别存放,三个类的成员函数是同一个,只存储一份在代码区,调用的时候,直接替换数据成员的值就行了查看全部
-
指针处理查看全部
-
P++之后的情况查看全部
-
坐标输出形式一定要是cout <<"("<<p->m_iX<<","<<p->m_iY<<")" << endl;查看全部
-
注释快捷键:Ctrl+K+C查看全部
-
p1 是一个对象, 分配在栈上 p2是一个指针,指向p1这个对象,即p2指向p1在栈上的地址(并没有创建新的对象) Coordinate *p2 = new Coordinate(); 才创建了新的对象,在堆上查看全部
-
A *a=new A; 和 A *a=new A(); 都是调用A类的默认构造函数!!!! 但是如果单独声明一个A 类变量,如:A a; 则调用的是默认构造函数, 但是不能写成 A a()来调用默认构造函数!!因为这种形式会被识别成一个: 名称为a的不接受任何参数,返回值为A类型的函数!!!查看全部
-
犄角旮旯: new对象时, 加不加括号都一样; 动态对象成员也可以这么访问(*p).m_value; Coordinate *p2 = &p1; p2->m_iX = 10;查看全部
-
深拷贝时,对于动态变量 ① 重新new ② memcpy查看全部
举报
0/150
提交
取消