C++高手请进,求解惑

按倒数第五行要求做,麻烦了... 按倒数第五行要求做,麻烦了 展开
 我来答
百度网友ec21859
2019-03-11 · TA获得超过115个赞
知道小有建树答主
回答量:127
采纳率:79%
帮助的人:108万
展开全部

这里的关键是创建对象数组,有两种做法:

  1. 采用Student *s = new Student[2]创建,这需要Student有默认的构造方法,因为这里的name和score并非每个Student对象都一样,而是各自不同的四个变量。调用方法的时候,可以用s[0].getName()。析构的时候,需要用delete[](s)。不过这显然不符合这个Student类的设计,若要这样做,需要增加Student类的无参构造方法,且需要加上set方法,故暂且不用。

  2. 采用Student *s[2]创建,创建后对s[0]和s[1]可以分别调用Student类的带参构造方法创建对象,即s[0] = new Student(n1, a1)。调用方法是,由于是指针数组,需要用s[0]->getName()方式调用。析构时,由于s本身是指针数组,而数组的每个元素是new出来的,需要单独析构每个元素,即delete(s[0])和delete(s[1])。这种方法符合Student类的设计,可取。

所以实现代码如下(仅列出Student数组相关代码):

Student *s[2];
s[0] = new Student(n1, a1);
s[1] = new Student(n2, a2);
cout << s[0]->getName() << " " << s[0]->getScore() << endl;
cout << s[1]->getName() << " " << s[1]->getScore() << endl;
delete(s[0]);
delete(s[1]);
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
乐天
2019-03-11 · 知道合伙人IT服务行家
乐天
知道合伙人IT服务行家
采纳数:20 获赞数:24
南通大学计算机与科学专业毕业,从事网络运维、网页开发设计。

向TA提问 私信TA
展开全部

你好,根据你的要求,第五行代码如下:

Student s[2];

希望能帮到你。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式