为了账号安全,请及时绑定邮箱和手机立即绑定

已采纳回答 / onemoo
好像确实是有问题。p[i] 取得的是 TV类型 的变量,而不是指向 TV 的指针,应该用 . 来访问其成员。

已采纳回答 / onemoo
这个没错。p 是指向 TV类型 的指针,通过指针来访问所指变量的成员应该用 -> 运算符。 直接通过变量访问其元素才是用 .(点) 运算符。也就是 p->type 相当于 (*p).type

已采纳回答 / onemoo
难得看到一个用codeblocks的。这个类定义没什么问题,报的这个错误不是代码中的。 看起来应该是链接时找不到链接库,这一般是因为建立工程不对。你建立工程时选的是console application(控制台应用程序)吗?

已采纳回答 / onemoo
这是个函数,函数体后的尾大括号就标志着这个函数的结束,后面无需再加上分号。一般分号标志着语句的结束。所以你写上分号的话,等于是两个语句:一个完整的函数 + 一个只有一个分号的空语句

已采纳回答 / onemoo
这样写和 stu2 = stu1 一样,都是要用stu1来初始化stu2,也就是调用拷贝构造函数。

已采纳回答 / onemoo
优势就是你可以手动管理内存,可以控制堆上对象的生存时间。函数中,栈上的对象在函数结束后就会被销毁,如果你想要生成一个可以一直存在的对象,就需要将其构造在堆中。

已采纳回答 / onemoo
不带括号叫做default initialize,带括号叫做value initialize。这两种写法对于有默认构造函数的对象来说没有区别,都是调用其默认构造函数。但对于built-in类型,是有区别的:不带括号时,对象的值是不确定的。带括号时,初值一般为0。

已采纳回答 / AAnonymous
都可以,当然你要调用含参构造函数时就必须带括号了。C++和Java不同,Java都要括号的

已采纳回答 / onemoo
老师并没有说错。你说的那些确实都可以作为默认构造函数,所以它们只能有一个。 因为如果存在多个,那么在需要调用默认构造函数的时候,编译器就不知道要调用哪一个了。

已采纳回答 / onemoo
是共享的。但也不能叫做代码复用。不仅是成员函数,所有的函数在程序中都只有一份。

已采纳回答 / AAnonymous
你定义的类名是小写的。为何创建对象时要大写?

已采纳回答 / onemoo
报的错误是什么?  错误提示都在里面,下次出错时好好看看,对找错误会有帮助的。如果你的成员函数是定义在类定义中的,则大括号后不用加分号。所以代码中拷贝构造函数的大括号后面不用加分号。 如果你是把大括号去掉了,那表明你是在类定义中声明了一个拷贝构造函数,并没有定义它,编译链接时会报未定义错误。你说你把函数定义复制到main函数中?!  函数不能嵌套定义,你这样做肯定是错的。还有这个代码中根本就没有用到拷贝构造函数。

已采纳回答 / IT饱
打代码的时候请认真点,还有VC6.0估计也不能过<...图片...>
课程须知
本课程是C++初级课程 需要熟练掌握C++语言基础语法
老师告诉你能学到什么?
1、类的定义与对象实例化 2、string类型及属性封装 3、类外定义 4、构造函数与初始化列表 5、析构函数

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消