已采纳回答 / onemoo
这个没错。p 是指向 TV类型 的指针,通过指针来访问所指变量的成员应该用 -> 运算符。 直接通过变量访问其元素才是用 .(点) 运算符。也就是 p->type 相当于 (*p).type
2015-10-15
已采纳回答 / onemoo
难得看到一个用codeblocks的。这个类定义没什么问题,报的这个错误不是代码中的。 看起来应该是链接时找不到链接库,这一般是因为建立工程不对。你建立工程时选的是console application(控制台应用程序)吗?
2015-10-14
已采纳回答 / onemoo
这是个函数,函数体后的尾大括号就标志着这个函数的结束,后面无需再加上分号。一般分号标志着语句的结束。所以你写上分号的话,等于是两个语句:一个完整的函数 + 一个只有一个分号的空语句
2015-10-08
最新回答 / XiaoADream
对t3没有影响,但是因为对第二个构造函数两个参数都赋予了默认值,Teacher()和Teacher(string name="Lucy",int age = 20)这两个构造函数计算机就无法分辨了。因为两个函数都可以直接实例化对象t1了,计算机不知道调用哪个构造函数了
2015-09-20
已采纳回答 / onemoo
优势就是你可以手动管理内存,可以控制堆上对象的生存时间。函数中,栈上的对象在函数结束后就会被销毁,如果你想要生成一个可以一直存在的对象,就需要将其构造在堆中。
2015-09-19
最赞回答 / 紫泉
这事因为getline函数决定的,getlime函数其实有3个参数的,istream& getline ( istream &is , string &str , char delim ); 第三个是默认缺省为'\n',也就是说,换行。getlime将'\n'前面的字符写入str字符串,也就是name中,当然会去掉'\n',你用的应该是VC6.0才会出现这样的问题吧,vs已经不会有这问题了。VC6.0避免按两次回车的办法:(网上找到的)解决方法:进入X:\Program Files...
2015-09-18