C++对象数组的实例学习
C++作为一种面向对象的语言,其面向对象的思维,我觉得非常重要,一直都在研究汇编和C语言,没有对象的观念,但是C++里面,对象思维,抽象思维其实是很有意思的,而且很有意义。
今天,我们来分析学习对象数组,对象数组从名字上分析,就是存放对象的数组,可能对于初学者来说,这是一个新词,但是对象数组很有用。
我们假设,学生是对象,对象的属性有ID和Score,那么如果班级里面有100个学生,那么每个对象都要用类进行实例化的话,那真是太恐怖了,此时,C++的对象数组就该上场了,一个数组直接搞定是不是很方便呢?
唯一要注意的事情是:
要创建对象数组,必须要有默认构造函数,但是如果我们声明了一个构造函数,默认构造函数系统不会给,所以,我们得显式给出默认构造函数!!
--------------------我是分割线,下面用代码说明-----------------
# include <iostream>
# include <string>
using namespace std;const int Objarr_Number = 5;class Student
{
public:Student(string, int);//构造函数Student(); //默认构造函数一定要有 void Print(); //声明输出函数string ID;int score;
};Student::Student(string s, int n)
{ID = s;score = n;
}void Student::Print()
{cout << "ID : "<< ID << " " << "Score: "<< score << endl;
}int main(void)
{Student stud[Objarr_Number] = {Student("001", 90),Student("002", 94),Student("003", 70),Student("004", 100),Student("005", 60),};int max = stud[0].score;int i = 0;int k = 0; cout << "ID " << "\t" << "Score "<< endl;for(i = 0; i< Objarr_Number; i++){//输出对象数组的值cout << stud[i].ID <<"\t" << stud[i].score << endl;//以成绩来进行比较if(stud[i].score > max){k = i;max = stud[i].score;}}cout <<"-----------------------------"<<endl;cout << "The Max Score is " ;//输出最大的学生的成绩stud[k].Print();cout << endl;return 0;
}
--------------------我是分割线-------------------------------------------
效果图:
----------------------------------------------------------------------------------------------
手工敲一遍,理解更深刻!!!
加油!!
----------------------------------------------------------------------------------------------
C++对象数组的实例学习相关推荐
- 【最精简写法】获取一维数组和对象数组最值:最大值、最小值,返回对象
Math.max(...arr);//返回数组最大值 Math.min(...arr);//返回数组最小值Math.max(...objArr.map(o => o.最值字段名));//返回对象 ...
- json数组 js html标签,js定义json对象数组 json 数组也是数组 //
var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]"; var jsonarray = eval('('+js ...
- PHP中foreach详细分析—一般数组与对象数组
PHP中的foreach作为经常用到的函数,常常用来遍历数组,对于数组中的元素是值的情形(如一般常见型的数组),foreach只是将数组中的每份元素的值拷贝到each后面的变量, 也就是对值本身的拷贝 ...
- php对象和数组的效率,PHP对象数组和一般数组区别
PHP中的foreach作为经常用到的函数,常常用来遍历数组,对于数组中的元素是值的情形(如一般常见型的数组),foreach只是将数组中的每份元素的值拷贝到each后面的变量,也就是对值本身的拷贝, ...
- 通过属性值从对象数组中获取JavaScript对象[重复]
本文翻译自:Get JavaScript object from array of objects by value of property [duplicate] This question alr ...
- 通过ID在JavaScript对象数组中查找对象
本文翻译自:Find object by id in an array of JavaScript objects I've got an array: 我有一个数组: myArray = [{'id ...
- 按属性值对对象数组进行排序
我使用AJAX获得了以下对象并将它们存储在数组中: var homes = [{"h_id": "3","city": "Dall ...
- js 矩阵转置_js对象数组矩阵转置(行转列)的实践
最近项目中有个需求需要将一个类似二维数组的数据矩阵转置(行转列)我通过查资料发现这是很简单的.只需要经过下面的处理就没问题了.但... var newArray = tansDatas[0].map( ...
- array,vector对象 数组越界检测
array,vector对象 数组越界检测 posted on 2017-11-15 16:20 秦瑞It行程实录 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnbl ...
- java字符串数组拷贝函数_java 数组的拷贝 对象数组的拷贝 System.arraycopy函数
/* java 数组的操作 System类的arraycopy静态函数用于数组拷贝 数组是不能越界的 对象数组的复制实际上是复制的引用的拷贝 也就是对象的地址 */ class Point ...
最新文章
- 爱立信华为MWC展前叫阵:5G成重头戏
- 高校老师暑假狂补AI课背后:AI人才培养竞赛开跑
- 手机蓝牙如何减少延时_如何使用车载蓝牙播放手机音乐的方法
- ROS自定义地图(CAD、手绘等)
- 剑指offer 替换空格
- python series用法_如何使用Python中的Series字典创建数据框?
- bind_param 类怎么写_情感类自媒体怎么写?你不知道的情感类文章4大禁忌!
- HDU-2067-小兔的棋盘
- 编程初学者必须知道的十件事
- 史上最全的数据链路层基础知识详解
- 测度论与概率论基础学习笔记1——1.1 集合及其运算
- 光伏并网逆变器意大利CEI 0-21标准
- Spring入门之bean的配置
- coffeescript java 执行_新的coffeescript,运行cakefile时产生ENOENT错误
- 《我的野蛮女友》主题,乔治·温斯顿《卡农变奏曲》,帕卡贝尔的《D大调卡农》...
- java中的方法基础
- H5移动端出生日期插件
- php+js扫码枪实现签到的功能
- 各大高权重搜索引擎博客矩阵链轮?
- Python-练习 43. 面向对象的分析和设计基础
热门文章
- java中mysql.ini_为什么找不到mysql.ini文件,我是放在scr目录下的
- python找不到sys模块_在本地目录中找不到模块,存在于sys.path中
- 启明星系统使用在线视频教程
- 201111-W-网络技术-基础理论与应用说明
- ASA站点×××,远程站点通过主站上网之配置
- [转] 在ASP.NET MVC3中使用EFCodeFirst 1.0
- 【JavaEE】第零章(2020.03.06)模式 表 索引
- kafka-client 版本兼容问题
- 软考中级软件设计师笔记第一章计算机组成与体系结构
- php订单号生成规则,项目笔记之订单号生成规则以及方法,第一篇!