This commit is contained in:
Light-City
2020-04-06 00:57:02 +08:00
parent f97c156cc4
commit a4d828bb4c
120 changed files with 4413 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
#include <iostream>
using namespace std;
class B{
public:
void f(){ g(); }
virtual void g(){ cout << "B::g"; }
};
class D : public B{
public:
void g(){ cout << "D::g\n"; }
};
int main(){
D d;
d.f();
system("pause");
return 0;
}

View File

@@ -0,0 +1,92 @@
/*
ij<EFBFBD><EFBFBD>˾<EFBFBD>о<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>Сʱ<EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Աÿ<EFBFBD>µ<EFBFBD>н800Ԫ<EFBFBD><EFBFBD>
Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5%<25><>Сʱ<D0A1><CAB1><EFBFBD><EFBFBD>Сʱ<D0A1><CAB1><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>ݡ<EFBFBD>
Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD><EFBFBD><EFBFBD>Employee<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>̳и<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD>ܡ<EFBFBD>
*/
#include <iostream>
#include <string>
using namespace std;
class Employee{
public:
Employee(string Name ,string id){ name=Name; Id=id; }
string getName(){ return name; } //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string getID(){ return Id; } //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>
float getSalary(){ return 0.0; } //<2F><><EFBFBD><EFBFBD>нˮ
void print(){ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "<<name<<"\t\t <20><><EFBFBD><EFBFBD>: "<<Id<<endl;
}
private:
string name;
string Id;
};
class Manager:public Employee{
public:
Manager(string Name,string id,int week):Employee(Name,id){
WeeklySalary=week*1000;
}
float getSalary(){ return WeeklySalary; } //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н
void print(){ //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>н
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<<getName()<<"\t\t <20><><EFBFBD><EFBFBD>: "<<getID()
<<"\t\t <20>ܹ<EFBFBD><DCB9><EFBFBD>: "<<getSalary()<<endl;
}
private:
float WeeklySalary; //<2F><>н
};
class SaleWorker:public Employee{
public:
SaleWorker(string name,string id,int profit,int x):Employee(name,id){
workerMoney=baseMoney+x*0.05*profit;
}
float getSalary(){
return workerMoney;
}
void print(){
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>"<<getName()<<"\t\t <20><><EFBFBD><EFBFBD>: "<<getID()
<<"\t\t <20>ܹ<EFBFBD><DCB9><EFBFBD>: "<<getSalary()<<endl;
}
private:
float baseMoney=800.0;
float workerMoney;
};
class HourWorker:public Employee{
public:
HourWorker(string name,string id,int h):Employee(name,id){
TotalMoney=h*hourMoney;
}
float getSalary(){
return TotalMoney;
}
void print(){
cout<<"Сʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<<getName()<<"\t\t <20><><EFBFBD><EFBFBD>: "<<getID()
<<"\t\t <20>ܹ<EFBFBD><DCB9><EFBFBD>: "<<getSalary()<<endl;
}
private:
float hourMoney=100.0;
float TotalMoney;
};
int main(){
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>";
int week;
cin>>week;
Manager m("С<EFBFBD><EFBFBD>","11111111",week);
m.print();
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
int profit;
cin>>profit;
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
int x;
cin>>x;
SaleWorker s("С<EFBFBD><EFBFBD>","222222",profit,x);
s.print();
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сʱ<EFBFBD><EFBFBD>";
int hour;
cin>>hour;
HourWorker h("С<EFBFBD><EFBFBD>","333333",hour);
h.print();
system("pause");
return 0;
}

View File

@@ -0,0 +1,66 @@
//Eg7-1.cpp
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,<2C><EFBFBD><E9BAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9BAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>Employee<65><65>printΪ<74><EFBFBD><E9BAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><C9B7>ʵ<EFBFBD>Manager<65><72>print<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9BAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>ܷ<EFBFBD><DCB7>ʵ<EFBFBD>Employee<65><65>print
#include<iostream>
#include<string>
using namespace std;
class Employee{
public:
Employee(string name, string id);
string getName();
string getId();
float getSalary();
virtual void print();
private:
string Name;
string Id;
};
Employee::Employee(string name,string id){
Name=name;
Id=id;
}
string Employee::getName(){
return Name;
}
string Employee::getId(){
return Id;
}
float Employee::getSalary(){
return 0.0;
}
void Employee::print(){
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<<Name<<"\t"<<"<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>"<<Id<<endl;
}
class Manager:public Employee{
public:
Manager(string name,string id,float s=0.0):Employee(name,id){
weeklySalary=s;
}
void setSalary(float s) { weeklySalary=s; } //<2F><><EFBFBD>þ<EFBFBD><C3BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н
float getSalary(){ return weeklySalary; } //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н
void print(){ //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>н
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<<getName()<<"\t\t <20><><EFBFBD><EFBFBD>: "<<getId()<<"\t\t <20>ܹ<EFBFBD><DCB9><EFBFBD>: "<<getSalary()<<endl;
}
private:
float weeklySalary; //<2F><>н
};
/*
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>ֵ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣨻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>м̳е<EFBFBD><EFBFBD>ij<EFBFBD>Ա<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><EFBFBD>˷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>Ա<EFBFBD><EFBFBD>
*/
int main(){
Employee e("С<EFBFBD><EFBFBD>","NO0001"),*pM;
Manager m("С<EFBFBD><EFBFBD>","NO0002",128);
m.print();
pM=&m;
pM->print();
Employee &rM=m;
rM.print();
system("pause");
return 0;
}
//Virtual<61>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>Ǹ<EFBFBD>֪<EFBFBD><D6AA><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Ϊvirtual<61>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>

View File

@@ -0,0 +1,30 @@
#include <iostream>
#include<string>
using namespace std;
class A {
public:
void f(int i){cout<<"<EFBFBD><EFBFBD>A"<<endl;};
};
class B: public A {
public:
virtual void f(int i){cout<<"<EFBFBD><EFBFBD>B"<<endl;}
};
class C: public B {
public:
void f(int i){cout<<"<EFBFBD><EFBFBD>C"<<endl;}
};
//һ<><D2BB><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><E9BAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ̳<DABC><CCB3><EFBFBD>ϵ<EFBFBD>о<EFBFBD><D0BE><EFBFBD>ԶΪ<D4B6><EFBFBD><E9BAAF><EFBFBD><EFBFBD>
class D: public C{
public:
void f (int){cout<<"<EFBFBD><EFBFBD>D"<<endl;}
};
int main(){
A *pA,a;
B *pB, b; C c; D d;
pA=&a; pA->f(1); //<2F><><EFBFBD><EFBFBD>A::f
pB=&b; pB->f(1); //<2F><><EFBFBD><EFBFBD>A::f
pB=&c; pB->f(1); //<2F><><EFBFBD><EFBFBD>A::f
pB=&d; pB->f(1); //<2F><><EFBFBD><EFBFBD>A::f
system("pause");
return 0;
}

View File

@@ -0,0 +1,22 @@
#include <iostream>
using namespace std;
class A{
public:
virtual ~A(){ cout<<"call A::~A()"<<endl; }
};
class B:public A{
char *buf;
public:
B(int i){buf=new char[i];}
~B(){
delete [] buf;
cout<<"call B::~()"<<endl;
}
};
int main(){
A* a=new B(10);
delete a;
system("pause");
return 0;
}