已采纳回答 / 穹庐陌路
Coordinate * const p 和 Coordinate const *p 是不一样的。Coordinate * const p 中的const 修饰指针,代表指针指向的地址是一个常量,地址不能改。Coordinate const *p 中的const 修饰指针变量,代表指针指向的变量是个常量,变量不能改。(叫变量可能有点问题,const Coordinate *p 也是可以的。)
2018-08-05
已采纳回答 / 慕哥3348490
因为你定义的构造函数是带参的,此时在实例化的时候需要传参,如Coordinate *p = new Coordinate(3,5);在进行打印时,使用指针去访问数据成员即可,如:cout << "(" << p->m_iX << "," << p->m_iY << ")" << endl;
2018-06-20
已采纳回答 / 慕粉1847487754
Coordinate *p = new Coordinate();是一个指针Coordinate *p = new Coordinate[3];是一个指针数组
2018-05-20
已采纳回答 / 空城碎忆丶
<...图片...>这是初始化方式(完整的代码应该还有delete,这里我偷了个懒)。如果只是单纯的赋值的话,也可以将属性封装为一个set()函数,类似 void setX(int x){m_iX = x}; (前面课程有讲)然后调用该函数为属性赋值。
2018-05-17
已采纳回答 / 漂飘yuan
p是指针,指向Coordinate类型数组中的第一个元素的地址,即首地址,但是p[0]表示的是该数组中的第一个元素,是一个Coordinate类型的对象。对象访问自己的数据成员或者成员函数,必须用.;p是指针,p当前指向的就是该数组中第一个元素p[0],但是因为是用指针访问数据成员和成员函数,因此应该用->。总结起来,就是如果是指针访问数据成员或成员函数,用->,而如果是某个数据类型的对象(这里是Coordinate类型的对象)访问自己的数据成员和成员函数,用.
2018-04-04
已采纳回答 / 慕虎6477032
#include <iostream>using namespace std;class Coordinate{ public: Coordinate() { } // 打印坐标的函数 void printInfo() { cout << "(" << m_iX << "," << m_iY << ")" << endl; }public: int m_iX; int m_iY;};int main(vo...
2018-04-03
已采纳回答 / 无知的陈先生
理论上是在main函数所在的cpp文件对应的头文件中添加比较正规,但是实际应用的时候都是直接在main函数所在的cpp文件中直接添加用到的函数所在的头文件(h)。正常是不会包括cpp文件的,不然预编译的时候全部展开,代码太冗长了。
2018-03-09