最新回答 / 等候稻香
解决方案:头文件和源文件都在同一个项目中(即Coordinate.h和Coordinate.cpp一起放在项目中),头文件中定义方法,在源文件中实现,并且方法前加上Coordinate::,关键是Coordinate.cpp中加上include “stdafx.h””stdafx.h“的原理:编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#...
2015-09-08
最赞回答 / 走进科学
1.如果有多个成员数据,构造函数可以一次给多个成员数据设定初始值,set函数一般都是一个成员数据对应一个set函数.一次只能设定一个.2.构造函数只能设定初始值,如果设定了初始值之后,又想要再更改这个值.那么就只能用set了.
2015-08-25
最赞回答 / Asprin_J
和返回类型有关, return *this,返回类型是Array,是值传递,返回后会先copy出一个临时对象,而return this是返回Array*类型,返回值本质上也是值传递,生成一个临时指针对象,但是这个对象内容是指向Array的地址。
2015-08-13
最赞回答 / qq_渴望六维空间_0
楼上说的是正确的,这个和之前讲的const是一致的,比如:const int A;int *p=&A;这个就是错误的,因为A已经设置为常量,而指针p是可以读写的,用一个权限大的指针p去指向一个权限小的A,是不可以的,会有风险。coordinate的对象被const修饰,变成了常对象,那么指向它的指针this也必须变成常指针,否则就有改变常对象值得风险,因此成员函数内容无论是否改变了常对象的值,都要变成常成员函数,这也就是为什么getX()和getY()要变成常成员函数getX() const和ge...
2015-08-07