建立物件陣列,內放學生的資料 學號,成績 ,建立函式max,用指向物件的

2021-07-22 01:55:54 字數 1404 閱讀 3799

1樓:娛樂小八卦啊

建立物件如下:

class student

public:

student(string n,float s):number(n),score(s){}

friend void max(student *);  //宣告友元函式

private:

string number; //將學號宣告為字串

float score;

擴充套件資料

所謂的物件陣列,就是指包含了一組相關的物件,但是在物件陣列的使用中一定要清楚一點:陣列一定要先開闢空間,但是因為其是引用資料型別,所以陣列裡面的每一個物件都是null值,則在使用的時候陣列中的每一個物件必須分別進行例項化操作。

物件陣列的宣告:

先定義,再開闢空間

類名稱 物件陣列名 = null;

物件陣列名 = new 類名稱[長度];

定義並開闢陣列

類名稱 物件陣列名 = new 類名稱[長度];

在宣告物件陣列後 ,必須對每個陣列成員進行例項化話 才能直接使用,否則報空指標異常!

2樓:匿名使用者

#include

using namespace std;

class student

;student::student(int n,int g)//找出成績最高的學生的序號

int maxgradeindex(student* s)}return  index;

}int main()

;int maxgradestnum = maxgradeindex(a);

cout<<"成績最好的學生學號是:"<

c++ builder執行輸出如下:

c++,建立一個物件陣列,內放5個學生的資料(學號成績)我的程式錯在**?

3樓:愛問西瓜愛答樹

建構函式不對,是兩個引數(int,int)。

所有你得:

p=new student(1,1)[5];

否則自己加一個建構函式

student::student();

然後再加一個輸入的函式input(...);

才能p=new student()[5];

*(p+1).input(...);

4樓:匿名使用者

student* = new student[5];

要那樣開闢記憶體,你必須要有預設引數的建構函式,就是說class student;

5樓:真的無奈啊

student()

{}自己再加一個空建構函式,當你自己定義建構函式時,系統不再生成預設空建構函式!

C 建立物件陣列,內放學生的資料 學號,成績 ,設立函式max,用指標指向陣列元首

需要兩個陣列,分別存放學號和成績。如果只能用一個陣列,則需要定義一個類,類中包含學號和成績兩個變數,然後再定義一個陣列存放5個類物件。如果用第一種方法,可以參考我的另一個回答 如果要第二種方法可以hi我!類似的,c 書上應該都有,有時間的話,把書上的 敲一下。include using namesp...

有關c語言陣列的宣告,建立,c語言陣列宣告問題

陣列名可以當做指標使用,但這種指標沒有實際佔用記憶體空間 不存在存放首地址什麼的 因為你只能對該類指標 陣列名 指向的資料操作!沒有你想的那種多佔一個空間存放地址的意思,陣列名不是完整意義的指標 空間的位置看你的陣列在程式中定義的位置,有可能是棧,也可能是堆,也可能是全域性資料域。array可以當做...

建立長度為10的整數陣列,輸出該陣列元數及陣列中最大的元數,用Java編寫。謝謝哦

public class test int max n 0 初始將陣列的第一個數當成最大屬的數給max變數 for int i 1 i n.length i system.out.println 最大 max 顯示最大的數 用c語言程式設計,從鍵盤上輸入10個整數存放到一維陣列中,輸出其中最大的數及...