本文共 1507 字,大约阅读时间需要 5 分钟。
C++作为一种面向对象的语言,其面向对象的思维,我觉得非常重要,一直都在研究汇编和C语言,没有对象的观念,但是C++里面,对象思维,抽象思维其实是很有意思的,而且很有意义。
今天,我们来分析学习对象数组,对象数组从名字上分析,就是存放对象的数组,可能对于初学者来说,这是一个新词,但是对象数组很有用。
我们假设,学生是对象,对象的属性有ID和Score,那么如果班级里面有100个学生,那么每个对象都要用类进行实例化的话,那真是太恐怖了,此时,C++的对象数组就该上场了,一个数组直接搞定是不是很方便呢?
唯一要注意的事情是:
要创建对象数组,必须要有默认构造函数,但是如果我们声明了一个构造函数,默认构造函数系统不会给,所以,我们得显式给出默认构造函数!!
--------------------我是分割线,下面用代码说明-----------------
# include# include 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 <<"-----------------------------"<
--------------------我是分割线-------------------------------------------
效果图:
----------------------------------------------------------------------------------------------
手工敲一遍,理解更深刻!!!
加油!!
----------------------------------------------------------------------------------------------
转载地址:http://fgizl.baihongyu.com/