已采纳回答 / Torchwood
代码书写习惯很重要,要从新手刚练时就抓起,否则走不远。先回答问题,为什么必须要在后面加()?答:有的人会习惯在申请对象空间的时候在后面加(),以区分这是一个对象还是一个普通数据类型,以方便自己和他人更快的看明白这段程序。代码书写习惯好比写字,好的代码,美观大方,书写得体,让看的人心情舒畅,短的时间内看懂,提高了编程的效率,减少眼睛疲劳,为其他人看懂这个程序节省不少时间(这就是团队之间的代码),让作者在往后回顾的时候,一下子明白这些还仅仅是一部分而潦草的代码书写格式,就让人眼睛看的很累,过几天,再回顾自己都...
2016-12-04
已采纳回答 / 东31
你把m_dPi在类中定义成常量, 就意味在只能在构造函数中使用初始化列表的方式来初始化, 可是你的复制构造函数却没有用初始化列表的方式来初始化m_dPi的值, 所以编译出错。所以这也能解释为什么你把m_dPi定义成变量编译器就可以通过了。你也可以把复制构造函数这么修改:Teacher::Teacher(const Teacher &tea) :m_dPi(8){ cout <<"Teacher::Teacher(const Teacher &tea)"<<en...
2016-11-29
已采纳回答 / 东方既白233
只是释放掉分配给student在堆内存。不释放的话会占据内存管理的。那个构造函数 是分配在栈里的,系统它自己会分配自动释放,但是*p是程序员自己分配在堆里的内存,需要程序员自己去释放,系统不会帮你释放的
2016-11-11
已采纳回答 / 东方既白233
你这里函数的返回类型是无返回的void,形参也是对象,传的是赋给str这个值,然后再把str赋了的值在去赋给m_strName 然后呢,再在下面去的string getName()函数去返回这个m_strName这个值
2016-11-05
已采纳回答 / 东方既白233
同学你好,这个代码是没有错的,你用的是不是vsc++6.0,因为这个string的引用在vsc++6.0中是要自己去按加载的,需要你自己再去按这个回车,毕竟这个软件很小,功能是很基本的。如果你用的是vs studio系列软件,那么就不会出现这种情况了。
2016-11-05
已采纳回答 / 面瘫猫
const int m_iMax;把const去掉,还有你的初始化列表要放到类里面,这句:Teacher::Teacher(string name, int age,int m):m_strName(name), m_IAge(age),m_iMax(m){cout << "Teacher(string name, int age)" << endl;}
2016-10-28