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

2021-07-22 01:55:53 字數 1404 閱讀 1292

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 編寫乙個程式,要求建立乙個類,輸入若干個學生的資料,包括學號,姓名和三門課程的成績 1 include include using namespace std define 2 max 100class studentstu max...

關於物件建立的問題,關於物件建立的問題

您好 我部分同意的.但是這應該是考試題吧?這個世界上本來就有很多模稜兩可的答案.一般定義類是在函式外面定義的,這個時候就是全域性的,比如class a void main 如果這個時候在定義類的時候建立物件,那麼這個物件也是全域性的,如果是全域性變數的話,那麼它的作用域在整個程式中都有效.所以,前者...

建立55的二維陣列。用隨機函式為陣列賦值,數值的範圍

include include include int main printf n printf n for i 0 i 5 i printf n for j 0 j 5 j for i 0 i 24 i for j 0 j 24 i j if a 0 j a 0 j 1 printf n行優先遞增...