C 指標作引數問題,高手幫下忙。

2025-01-03 14:25:07 字數 1585 閱讀 7597

1樓:高原狼人

#include"iostream"

using namespace std;

class student

public:

student(int=1001,float=80); 宣告建構函式。

int number;

float score;

student::student(int n,float s):number(n),score(s)

定義建構函式。

void max( student *y) /函式max,用指向物件的指標作函式引數"這樣才對吧,不然怎麼做5個成績的比較呢。

float t;

int k;

for(int i=0;i<4;i++)

for(int j=0;j<4-i;j++)

if((y+i)->score>(y+i+1)->score) /把所有資料都來交換,目的是讓stud[4]存放最大分數。

t=(y+i)->score; /交換分數。

y+i)->score=(y+i+1)->score;

y+i+1)->score=t;

k=(y+i)->number; /交換學號。

y+i)->number=(y+i+1)->number;

y+i+1)->number=k;

cout<<"成績最高者 "score 《學號 "number student stud[5]=;

max( stud);

return 0;

2樓:網友

首先乙個嚴重的錯誤:

float student::max(float *y)y=score;

return score;

指標y未初始化,這是很危險的。

其次,max函式要求是指向物件的指標,你這裡把他設計成了成員函式,顯然不符合要求,也不能正常工作。

修改方案:1.修改類定義,取消max成員函式。

2.定義函式。

student * max(student * pstu, int total)

float temp=stud[0].score;

int id=0;

for(int i=0;iscore>temp)temp=pstu->score;

id=i;pstu++;

3.在main中增加:

student * phighest=max(stud,5);

cout

c++指標問題?

3樓:中雋

<>《我用的是vc++平臺,情況去年執行截圖。第二次輸出的值不是666,delete語句顯然起作用了。

4樓:匿名使用者

delete p; 後,申請的記憶體空間已經被釋放(可以再被其它申請), 但是p內依然儲存該空間的位址, 一般在delete p;後應再加上 p=null;

5樓:艾潤堂健康養生

說句神經病,什麼對於我們956溝通就不對,神經病,是神經上有什麼問題,在中醫來說就是。

c語言題目,高手幫哈忙

1 int 32 long 32 float 32 double 64 int 32 char 32 2 合法,a 11 62 3 有問題,輸出的應該是亂碼 4struct abc struct abc a struct abc d a.a 123 a.b 123 a.c 1.23 5 int se...

關於EXCEL替換的問題,急高手幫下忙

假設你的資料在a列.在b1輸入rand 然後下拉公式.然後ab作為一個區域來排序 按b列來排序 然後再刪除b列就可以了.我的最簡單聽我的 在序列 1 2 3 4 5 6 的右邊的一列中輸入漢字 乙 甲 然後將其拖放到等長時再同時選擇兩列再選擇升序按鈕就可以了,如果不行就單擊 資料 選單,找到 排序 ...

DNF高手進來,幫下忙,急!線上的高手進來幫下忙,謝謝

刷圖pk都強勢的當然選魔道,而且又是平民職業,操作簡單。大槍比較吃裝備。你說的缺藍問題,任何職業單刷都或多或少會缺藍的,但是沒有你說的那麼嚴重,其實還可以的。我60級的魔道,我沒覺得怎麼缺藍。魔道可以用遠古魔法書來加藍啊魔道偏向於pk 刷圖還是魔道好一 女大槍刷圖是很不錯 攻擊比男大槍高了幾乎一倍。...