国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++中的對象數組詳細解析

2020-01-26 15:44:15
字體:
來源:轉載
供稿:網友

類是對象的抽象,我們可以使用一個類來定義很多的對象,然后每個對象都有自己的屬性。

當我們使用類來定義很多相同結構的對象的時候,我們可以采取對象數組的方法。

例如,一個班有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;
 }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 炉霍县| 西宁市| 巴彦县| 西昌市| 盐津县| 宝应县| 凤山市| 浙江省| 涿州市| 咸阳市| 洛隆县| 清徐县| 北安市| 观塘区| 茂名市| 新郑市| 措勤县| 双峰县| 炉霍县| 顺义区| 新巴尔虎右旗| 报价| 中阳县| 岳阳县| 襄垣县| 沭阳县| 广宗县| 东兰县| 潞城市| 景洪市| 察隅县| 屏边| 马公市| 永川市| 南漳县| 勃利县| 随州市| 高陵县| 祁东县| 从江县| 富宁县|