2个回答
展开全部
这里的关键是创建对象数组,有两种做法:
采用Student *s = new Student[2]创建,这需要Student有默认的构造方法,因为这里的name和score并非每个Student对象都一样,而是各自不同的四个变量。调用方法的时候,可以用s[0].getName()。析构的时候,需要用delete[](s)。不过这显然不符合这个Student类的设计,若要这样做,需要增加Student类的无参构造方法,且需要加上set方法,故暂且不用。
采用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 广告
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询