类是对象的抽象,我们可以使用一个类来定义很多的对象,然后每个对象都有自己的属性。

当我们使用类来定义很多相同结构的对象的时候,我们可以采取对象数组的方法。

例如,一个班有50个学生,我们定义了一个学生类,该类的学生具有相同的数据成员和成员函数,我们就可以定义一个这样的数组。

Student stdu[50];//假设已经声明了Student类,定义stud数组,有50个元素

======================对象数组的初始化=========================

在建立数组时,同样要调用构造函数。如果有50个元素,就需要调用50次构造函数。在需要的时候,可以在定义数组时提供实参以实现初始化。

如果构造函数只有一个参数可以这样初始化:

Studet stud[3]={60,70,80};//三个实参分别传递给3个数组元素的构造函数

如果构造函数有多个参数时,应该这样做:

Student stud[3]={//假设构造函数有3个参数
Student(10,20,30),//调用第一个元素的构造函数,提供3个实参
Student(40,50,60),//调用第二个元素的构造函数,提供3个实参
Student(70,80,90) //调用第三个元素的构造函数,提供3个实参
};

在建立对象数组时,分别调用构造函数,对每个元素初始化。每一个元素的实参分别用括号括起来,对应构造函数的一组形参。

===================一个对象数组的例子=================

要求:建立一个对象数组,内放5个学生的数据(学号,成绩),设立一个函数max,在max函数中找出5个学生中成绩最高者,并出输出结果。

#include<iostream>
#include<string>
using namespace std;
class Student
{
public:
Student(string , int );//声明构造函数
void Print();//声明信息输出函数
string num;
int score;
};
Student::Student(string n,int s)
{
num=n;
score=s;
}
void Student::Print()
{
cout<<num<<"\t"<<score<<endl;
}
int main()
{
Student stud[5]={
Student("001",90),
Student("002",94),
Student("003",70),
Student("004",100),
Student("005",60)
};
int max,i=0,k=0;
max=stud[0].score;
for(i=0;i<5;i++)
{
cout<<stud[i].num<<"\t"<<stud[i].score<<endl;
if(stud[i].score>max)
{
k=i;
max=stud[i].score;
}
}
cout<<"=============MAX:==========="<<endl;
stud[k].Print();
cout<<endl;
}

C++中的对象数组的更多相关文章

  1. vue中,对象数组多层嵌套时,更新数据更新页面

    vue中的对象和数组的元素直接赋值修改时,是不能响应到view中去的 1.对象更新 this.a={title:'列表1’}; this.a.title='列表2’; <h1>{{a.ti ...

  2. JS中的对象数组

    <html> <head> <title>对象数组的字符串表示</title> <script type="text/javascrip ...

  3. 在localStorage中存储对象数组并读取

    频繁ajax请求导致页面响应变慢. 于是考虑将数据存储在window.storage中,这样只请求一次ajax,而不需要频繁请求. 鉴于localstorage中只能存储字符串,所以我们要借助于JSO ...

  4. js中json对象数组按对象属性排序---1

    转载:https://www.cnblogs.com/jasonwang2y60/p/6656103.html 在实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据js ...

  5. js中json对象数组按对象属性排序

    在实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据json中某一项进行数组的排序. 例如返回的数据结构大概是这样: { result:[ {id:,name:'中国银 ...

  6. 将对象push到数组中组成对象数组

    let items = { key:'', value:'' } for(let i = 0;i<len;i++){ items.value = _this.ills[i].sName; ite ...

  7. js中json对象数组按对象属性排序(sort方法)---2(根据拼音排序汉字和排序英文)

    本例主要实现 中文汉字按拼音排序的方法和英文按照首字母排序的方法. 要排序的数据: //要排序的数据 let data = [ {chinese: '蔡司', english: 'Chase'}, { ...

  8. 让操作javascript对象数组像.net lamda表达式一样

    让操作javascript对象数组像.net lamda表达式一样 随着web应用程序的富客户端化.ajax的广泛使用及复杂的前端业务逻辑.对js对象数组.json数组的各种操作越来越多.越来越复杂. ...

  9. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

随机推荐

  1. php实现文件夹下的文件读取功能

    <?php //这里实现 某个文件下的全部图片,并列出来! header("Content-type:text/html;charset=utf8");   $handle= ...

  2. gcc总结【基本用法】【选项】【动静态库】(转)

    1.////////////////////////////////////////////////////////////////////////////////////////////////// ...

  3. (四)《Java编程思想》——可变参数列表

    以object数组为参数的方法实现可变参数列表 package chapter5; /** * 以object数组为参数的方法实现可变参数列表 */ class A { } public class ...

  4. html5.边框属性相关知识点

    border-left 定义左边框 border-top 定义上边框 border-right 定义有边框 border-bottom 定义下边框 边框样式: dotted 边框线为点状虚线 dash ...

  5. getParameter百科

    获取数据库中的参数数据 getParameter().   request.getParameter("username");其中的这个username 是接受前台的参数 比如in ...

  6. python 下的数据结构与算法---2:大O符号与常用算法和数据结构的复杂度速查表

    目录: 一:大O记法 二:各函数高阶比较 三:常用算法和数据结构的复杂度速查表 四:常见的logn是怎么来的 一:大O记法 算法复杂度记法有很多种,其中最常用的就是Big O notation(大O记 ...

  7. android 自定义view之 TypeArray

    在定义view的时候,我们可以使用系统提供的属性,也可以自定义些额外的属性来设置自定义view的样式,这个时候,我们就需要TypeArray,字面意思就是Type 数组. 今天我们就讲讲如何自定义Vi ...

  8. QQ在线客服

    css代码: .float0831 { POSITION: fixed; TOP: 180px; RIGHT: 1px; _position: absolute } .float0831 A { CO ...

  9. C语言里面关于数组的一个容易忽视的小细节

    ginobili@VM_44_28_sles10sp1:~/code> cat test3.cpp #include <stdio.h> int main(){ char a[5] ...

  10. hdu Examining the Rooms

    这道题的知识点第一次听说 ,就是应用斯特林数.题目的意思是给你房间数N,和最多能破门的个数,让你求能全部把房间打开的概率! a[i][j]=a[i-1][j-1]+(i-1)*a[i-1][j]; # ...