?? jianfei.cpp
字號:
#include <iostream.h>
#include <string.h>
class CMan {
private:
char szName[20];//區分不同的人
float height, weight;//保存一個人的身高和體重信息
float figureQuota;//保存一個人的體重指標信息
static int peopleTotal; //保存群體的總人數
static float quotaSum; //保存群體的全部體重指標之和
float computeQuota();//計算體重指標
public :
CMan(char* name, float h, float w);
float getDiffToAverage();
//查看體重指標與群體平均指標的差
float getQuota();//查看體重指標
~CMan();
//運算符重栽
// man>>5:man的身高增長了5厘米
// man+8:man的體重增長了8公斤
// 7+man:man的體重增長了7公斤
CMan &operator>>(int varHeight);
CMan &operator+(int varWeight);
friend CMan &operator+(int varWeight, CMan &man);
//強制類型轉換
// quota = (float) man: 把man根據他的體重指數轉換成一個浮點數
operator float() const;
};
int CMan::peopleTotal=0;
float CMan::quotaSum=0;
CMan::CMan( char * name, float h, float w)
{
strcpy(szName,name );
height = h;
weight = w;
figureQuota = computeQuota();//在成員函數中調用其他的private成員函數
peopleTotal++;
quotaSum += figureQuota;
return;
}
float CMan:: computeQuota() {
float temp;
temp=height-105;
temp=(temp/weight)*100;
return(temp);
}
float CMan::getQuota(){ //獲取一個人的體重指標信息
return (figureQuota);
}
float CMan::getDiffToAverage(){
return(figureQuota-quotaSum/peopleTotal);
}
CMan::~CMan(){ //消除一個人對群體的影響
peopleTotal--;
quotaSum -=figureQuota;
return;
}
CMan &CMan::operator>>(int varHeight){ //長高了
quotaSum -= figureQuota; //減少一個人對群體的影響
height= height+varHeight;
figureQuota = computeQuota();//重計算
quotaSum =quotaSum+figureQuota; //加上一個人對群體的影響
return(*this);
}
CMan &CMan::operator+(int varWeight){ //增加體重
quotaSum =quotaSum-figureQuota;;
weight += varWeight;
figureQuota =computeQuota() ;
quotaSum =quotaSum+figureQuota;
return(*this);
}
CMan &operator+(int varWeight, CMan &man){ //增加體重
man.quotaSum =man.quotaSum-man.figureQuota;;
man.weight += varWeight;
man.figureQuota =man.computeQuota() ;
man.quotaSum =man.quotaSum+man.figureQuota;
return(man);
}
CMan::operator float() const{
return ((float)figureQuota);
}
void main()
{
CMan Jimmy("Jimmy", 185, 90), Bill("Bill", 178, 65), George("Geroge", 165, 67);
cout<<"Jimmy: figure quota="<<Jimmy.getQuota()<<endl;
cout<<"Jimmy: figure quota="<<(float)Jimmy<<endl;
Jimmy>>5;//Jimmy長高了5厘米
Jimmy+20;//Jimmy體重增加了20公斤
cout<<"Jimmy: figure quota="<<(float)Jimmy<<", after 2 years"<<endl;
-14+Jimmy;//Jimmy經過節食控制后,體重下降了14公斤
cout<<"Jimmy: figure quota="<<(float)Jimmy<<", after diet"<<endl;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -