已采纳回答 / 漂飘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
最赞回答 / atx237
慕课网以前有个学习路径,是免费的,现在改版了页面上没有入口,但是地址还在。。C++的路径:https://www.imooc.com/course/programdetail/pid/42路径url后面的pid可以改,自己试试
2018-03-18
已采纳回答 / Maggieqiu
m_CoorA和m_CoorB是对象指针的话,就应该写成:cout << "(" << m_CoorA->getX() << "," << m_CoorA->getY() << ")" << endl;cout << "(" << m_CoorB->getX() << "," << m_CoorB->getY() << ")" << end...
2018-03-18
最赞回答 / caalina
贴一下我在网上搜的解释;如果对象A中有对象成员B,对象B没有默认构造函数,那么对象A必须在初始化列表中初始化对象B(原因:因为实例化A时,会先执行B的构造函数,再执行A的构造函数,如若对象B没有默认构造函数,即需要给B的构造函数传递参数才能调用,但是此时A的构造函数还没有执行,因此它还拿不到A构造函数的参数,所以先调用B的构造函数这个过程将无法进行。而初始化列表会先于构造函数的执行对对象成员进行初始化,因此不必再担心B的构造函数拿不到参数而无法执行的问题。因此如果B没有默认构造函数,那么对象A必须在初始化...
2018-03-10
已采纳回答 / 无知的陈先生
理论上是在main函数所在的cpp文件对应的头文件中添加比较正规,但是实际应用的时候都是直接在main函数所在的cpp文件中直接添加用到的函数所在的头文件(h)。正常是不会包括cpp文件的,不然预编译的时候全部展开,代码太冗长了。
2018-03-09
最赞回答 / qq_慕虎1144658
通俗点说就是大的调小的,普通函数可读可写,const只可读,所以你用普通的调const肯定满足啊,但是反过来,你const修饰的对象,去调普通函数,这个函数要求可读可写,你用const去调就明显不满足了嘛 就相当于 我拿10块钱肯定可以买5块的东西,5块钱买不了10块钱的东西
2018-02-12