update
This commit is contained in:
50
practical_exercises/10_day_practice/day7/[]运算符/[]例题(重点).cpp
Normal file
50
practical_exercises/10_day_practice/day7/[]运算符/[]例题(重点).cpp
Normal file
@@ -0,0 +1,50 @@
|
||||
//Eg8-9.cpp
|
||||
#include <iostream>
|
||||
#include <cstring>
|
||||
using namespace std;
|
||||
struct Person{ //ְ<><D6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ľṹ
|
||||
double salary;
|
||||
char *name;
|
||||
};
|
||||
class SalaryManaege{
|
||||
Person *employ; //<2F><><EFBFBD><EFBFBD>ְ<EFBFBD><D6B0><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
int max; //<2F><><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1>Ͻ<EFBFBD>
|
||||
int n; //<2F><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ʵ<EFBFBD><CAB5>ְ<EFBFBD><D6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
public:
|
||||
SalaryManaege(int Max=0){
|
||||
max=Max;
|
||||
n=0;
|
||||
employ=new Person[max];
|
||||
}
|
||||
double &operator[](char *Name) { //<2F><><EFBFBD><EFBFBD>[]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
Person *p;
|
||||
for(p=employ;p<employ+n;p++)
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
|
||||
if(strcmp(p->name,Name)==0)
|
||||
return p->salary;
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
p=employ + n++;
|
||||
p->name=new char[strlen(Name)+1];
|
||||
strcpy(p->name,Name);
|
||||
p->salary=0;
|
||||
return p->salary;
|
||||
}
|
||||
|
||||
void display(){
|
||||
for(int i=0;i<n;i++)
|
||||
cout<<employ[i].name<<" "<<employ[i].salary<<endl;
|
||||
}
|
||||
};
|
||||
int main(){
|
||||
SalaryManaege s(3);
|
||||
s["<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"]=2188.88;
|
||||
s["<EFBFBD><EFBFBD>˹"]=1230.07;
|
||||
s["<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"]=3200.97;
|
||||
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t"<<s["<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"]<<endl; cout<<"<EFBFBD><EFBFBD>˹\t"<<s["<EFBFBD><EFBFBD>˹"]<<endl;
|
||||
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t"<<s["<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"]<<endl;
|
||||
|
||||
cout<<"-------<2D><>Ϊdisplay<61><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--------\n\n";
|
||||
s.display();
|
||||
system("pause");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user