再读C++ Primer 写了个小例子(08-01-16)
来源:互联网 发布:java接口的修饰符 编辑:程序博客网 时间:2024/05/18 00:07
实现了几个类的继承操作 ,
#pragma once
#include "employee.h"
class Developer :
public Employee
...{
public:
Developer(void);
~Developer(void);
Developer(int iTimeInJob);
Developer(Developer& dev);
// Developer(char* plname,char* plid,char* pljt,int iTimeInJob);
Developer::Developer(char* plname,char* plid,char* pljt,int iTimeInJob) :
Employee(plname,plid,pljt)
...{
TimeInJob = iTimeInJob;
}
int GetTimeInJob();
void Show();
void Job();
protected:
int TimeInJob;
};
#pragma once
using namespace std;
class Employee
...{
public:
Employee(void);
~Employee(void);
Employee(char* plname,char* plid,char* pljt);
virtual void Job()
...{
// Employee::show()
cout<<"I'm Employee"<<endl;
}
char* GetName();
char* GetId();
char* GetJoinTime();
void Show();
protected:
char Name[20];
char ID[8];
char JoinTime[16];
};
#pragma once
#include "employee.h"
#include "Developer.h"
class Leader :
public Employee
...{
public:
Leader(void);
Leader(char* plname,char* plid,char* pljt,Developer* dev1,Developer* dev2) :
Employee(plname,plid,pljt)
...{
devList[0]=dev1;
devList[1]=dev2;
TotalTime=dev1->GetTimeInJob() +dev2->GetTimeInJob();
}
void Job();
int GetTotaltime()
...{
return TotalTime;
}
~Leader(void);
protected:
Developer* devList[2];
int TotalTime;
};
#pragma once
#include "employee.h"
#include "Leader.h"
class Manager :
public Employee
...{
public:
Manager(void);
~Manager(void);
Manager(char* plname,char* plid,char* pljt,Leader* leader1,Leader* leader2) :
Employee(plname,plid,pljt)
...{
LeaderList[0]=leader1;
LeaderList[1]=leader2;
iTotalTime=leader1->GetTotaltime() +leader2->GetTotaltime();
}
void Job();
int GetTotalTime()
...{
return iTotalTime;
}
protected:
Leader* LeaderList[2];
int iTotalTime;
};
// class08011601.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "Employee.h"
#include "Developer.h"
#include "Manager.h"
#include "Leader.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
...{
char* Ename=new char[20];
char* Eid=new char[20];
char* Etime=new char[20];
int time;
cin>>Ename>>Eid>>Etime>>time;
Employee emp(Ename,Eid,Etime);
Developer dev(Ename,Eid,Etime,time);
Developer dev1(dev);
Leader leader1(Ename,Eid,Etime,&dev1,&dev1);
Leader leader2(Ename,Eid,Etime,&dev1,&dev1);
Manager manager(Ename,Eid,Etime,&leader1,&leader2);
Manager manager1(Ename,Eid,Etime,&leader1,&leader2);
Manager manager2(Ename,Eid,Etime,&leader1,&leader2);
Manager manager3(Ename,Eid,Etime,&leader1,&leader2);
// Manager manager((Ename,Eid,Etime,&leader1,&leader2);
// cout<<emp.GetId()<<emp.GetJoinTime()<<emp.GetName()<<endl;
emp.Job();
// emp.Show();
// dev.Show();
dev.Job();
dev1.Job();
leader1.Job();
leader2.Job();
manager.Job();
manager1.Job();
manager2.Job();
manager3.Job();
char a;
cin>>a;
delete Ename;
Ename=NULL;
delete Eid;
Eid=NULL;
delete Etime;
Etime=NULL;
return 0;
}
#include "StdAfx.h"
#include ".developer.h"
using namespace std;
Developer::Developer(void)
...{
TimeInJob = 0;
}
Developer::~Developer(void)
...{
}
Developer::Developer(Developer& dev)
...{
strcpy(Developer::GetId(),dev.GetId());
strcpy(Developer::GetJoinTime(),dev.GetJoinTime());
strcpy(Developer::GetName(),dev.GetName());
Developer::TimeInJob=dev.TimeInJob;
}
void Developer::Job()
...{
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
Employee::Show();
cout<<"Done a job"<<endl;
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
}
Developer::Developer(int iTimeInJob)
...{
TimeInJob = iTimeInJob;
}
/**//*Developer::Developer(char* plname,char* plid,char* pljt,int iTimeInJob) :
Employee(char* plname,char* plid,char* pljt)
{
TimeInJob = iTimeInJob;
}
*/
void Developer::Show()
...{
Employee::Show();
cout<<Developer::GetTimeInJob()<<endl;
}
int Developer::GetTimeInJob()
...{
return TimeInJob;
}
#include "StdAfx.h"
#include ".employee.h"
using namespace std;
Employee::Employee(void)
...{
memset(Name,0,sizeof(Name));
memset(ID,0,sizeof(ID));
memset(JoinTime,0,sizeof(JoinTime));
}
Employee::~Employee(void)
...{
}
Employee::Employee(char* plname,char* plid,char* pljt)
...{
strcpy(Name,plname);
strcpy(ID,plid);
strcpy(JoinTime,pljt);
}
/**//*virtual void Employee::Job()
{
cout<<"I'm Employee"<<endl;
}
*/
char* Employee::GetName()
...{
return Name;
}
char* Employee::GetId()
...{
return ID;
}
char* Employee::GetJoinTime()
...{
return JoinTime;
}
void Employee::Show()
...{
cout<<GetId()<<" ";
cout<<GetName()<<" ";
cout<<GetJoinTime()<<" ";
// Job();
}
#include "StdAfx.h"
#include ".leader.h"
using namespace std;
Leader::Leader(void)
...{
devList[0]=new Developer();
devList[1]=new Developer();
}
Leader::~Leader(void)
...{
delete devList[0];
delete devList[1];
devList[0] = NULL;
devList[1]=NULL;
}
void Leader::Job()
...{
cout<<"---------------------------"<<endl;
cout<<"Leader Information"<<endl;
Leader::Show();
cout<<endl;
cout<<"---------------------------"<<endl;
cout<<"Leader Job"<<endl;
devList[0]->Show();
devList[1]->Show();
cout<<"Leader Total Time: "<<Leader::GetTotaltime()<<endl;
cout<<"---------------------------"<<endl;
}
#include "StdAfx.h"
#include ".manager.h"
Manager::Manager(void)
...{
LeaderList[0]=new Leader();
LeaderList[1]=new Leader();
}
Manager::~Manager(void)
...{
delete LeaderList[0];
delete LeaderList[1];
LeaderList[0] = NULL;
LeaderList[1]=NULL;
}
void Manager::Job()
...{
cout<<"--------------------------------"<<endl;
cout<<"Manager information"<<endl;
Manager::Show();
cout<<endl;
cout<<"--------------------------------"<<endl;
cout<<"Manager Job"<<endl;
LeaderList[0]->Job();
LeaderList[1]->Job();
cout<<"Manager Total Time: "<<Manager::GetTotalTime()<<endl;
cout<<"-------------------------------"<<endl;
}
#include "employee.h"
class Developer :
public Employee
...{
public:
Developer(void);
~Developer(void);
Developer(int iTimeInJob);
Developer(Developer& dev);
// Developer(char* plname,char* plid,char* pljt,int iTimeInJob);
Developer::Developer(char* plname,char* plid,char* pljt,int iTimeInJob) :
Employee(plname,plid,pljt)
...{
TimeInJob = iTimeInJob;
}
int GetTimeInJob();
void Show();
void Job();
protected:
int TimeInJob;
};
#pragma once
using namespace std;
class Employee
...{
public:
Employee(void);
~Employee(void);
Employee(char* plname,char* plid,char* pljt);
virtual void Job()
...{
// Employee::show()
cout<<"I'm Employee"<<endl;
}
char* GetName();
char* GetId();
char* GetJoinTime();
void Show();
protected:
char Name[20];
char ID[8];
char JoinTime[16];
};
#pragma once
#include "employee.h"
#include "Developer.h"
class Leader :
public Employee
...{
public:
Leader(void);
Leader(char* plname,char* plid,char* pljt,Developer* dev1,Developer* dev2) :
Employee(plname,plid,pljt)
...{
devList[0]=dev1;
devList[1]=dev2;
TotalTime=dev1->GetTimeInJob() +dev2->GetTimeInJob();
}
void Job();
int GetTotaltime()
...{
return TotalTime;
}
~Leader(void);
protected:
Developer* devList[2];
int TotalTime;
};
#pragma once
#include "employee.h"
#include "Leader.h"
class Manager :
public Employee
...{
public:
Manager(void);
~Manager(void);
Manager(char* plname,char* plid,char* pljt,Leader* leader1,Leader* leader2) :
Employee(plname,plid,pljt)
...{
LeaderList[0]=leader1;
LeaderList[1]=leader2;
iTotalTime=leader1->GetTotaltime() +leader2->GetTotaltime();
}
void Job();
int GetTotalTime()
...{
return iTotalTime;
}
protected:
Leader* LeaderList[2];
int iTotalTime;
};
// class08011601.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "Employee.h"
#include "Developer.h"
#include "Manager.h"
#include "Leader.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
...{
char* Ename=new char[20];
char* Eid=new char[20];
char* Etime=new char[20];
int time;
cin>>Ename>>Eid>>Etime>>time;
Employee emp(Ename,Eid,Etime);
Developer dev(Ename,Eid,Etime,time);
Developer dev1(dev);
Leader leader1(Ename,Eid,Etime,&dev1,&dev1);
Leader leader2(Ename,Eid,Etime,&dev1,&dev1);
Manager manager(Ename,Eid,Etime,&leader1,&leader2);
Manager manager1(Ename,Eid,Etime,&leader1,&leader2);
Manager manager2(Ename,Eid,Etime,&leader1,&leader2);
Manager manager3(Ename,Eid,Etime,&leader1,&leader2);
// Manager manager((Ename,Eid,Etime,&leader1,&leader2);
// cout<<emp.GetId()<<emp.GetJoinTime()<<emp.GetName()<<endl;
emp.Job();
// emp.Show();
// dev.Show();
dev.Job();
dev1.Job();
leader1.Job();
leader2.Job();
manager.Job();
manager1.Job();
manager2.Job();
manager3.Job();
char a;
cin>>a;
delete Ename;
Ename=NULL;
delete Eid;
Eid=NULL;
delete Etime;
Etime=NULL;
return 0;
}
#include "StdAfx.h"
#include ".developer.h"
using namespace std;
Developer::Developer(void)
...{
TimeInJob = 0;
}
Developer::~Developer(void)
...{
}
Developer::Developer(Developer& dev)
...{
strcpy(Developer::GetId(),dev.GetId());
strcpy(Developer::GetJoinTime(),dev.GetJoinTime());
strcpy(Developer::GetName(),dev.GetName());
Developer::TimeInJob=dev.TimeInJob;
}
void Developer::Job()
...{
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
Employee::Show();
cout<<"Done a job"<<endl;
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
}
Developer::Developer(int iTimeInJob)
...{
TimeInJob = iTimeInJob;
}
/**//*Developer::Developer(char* plname,char* plid,char* pljt,int iTimeInJob) :
Employee(char* plname,char* plid,char* pljt)
{
TimeInJob = iTimeInJob;
}
*/
void Developer::Show()
...{
Employee::Show();
cout<<Developer::GetTimeInJob()<<endl;
}
int Developer::GetTimeInJob()
...{
return TimeInJob;
}
#include "StdAfx.h"
#include ".employee.h"
using namespace std;
Employee::Employee(void)
...{
memset(Name,0,sizeof(Name));
memset(ID,0,sizeof(ID));
memset(JoinTime,0,sizeof(JoinTime));
}
Employee::~Employee(void)
...{
}
Employee::Employee(char* plname,char* plid,char* pljt)
...{
strcpy(Name,plname);
strcpy(ID,plid);
strcpy(JoinTime,pljt);
}
/**//*virtual void Employee::Job()
{
cout<<"I'm Employee"<<endl;
}
*/
char* Employee::GetName()
...{
return Name;
}
char* Employee::GetId()
...{
return ID;
}
char* Employee::GetJoinTime()
...{
return JoinTime;
}
void Employee::Show()
...{
cout<<GetId()<<" ";
cout<<GetName()<<" ";
cout<<GetJoinTime()<<" ";
// Job();
}
#include "StdAfx.h"
#include ".leader.h"
using namespace std;
Leader::Leader(void)
...{
devList[0]=new Developer();
devList[1]=new Developer();
}
Leader::~Leader(void)
...{
delete devList[0];
delete devList[1];
devList[0] = NULL;
devList[1]=NULL;
}
void Leader::Job()
...{
cout<<"---------------------------"<<endl;
cout<<"Leader Information"<<endl;
Leader::Show();
cout<<endl;
cout<<"---------------------------"<<endl;
cout<<"Leader Job"<<endl;
devList[0]->Show();
devList[1]->Show();
cout<<"Leader Total Time: "<<Leader::GetTotaltime()<<endl;
cout<<"---------------------------"<<endl;
}
#include "StdAfx.h"
#include ".manager.h"
Manager::Manager(void)
...{
LeaderList[0]=new Leader();
LeaderList[1]=new Leader();
}
Manager::~Manager(void)
...{
delete LeaderList[0];
delete LeaderList[1];
LeaderList[0] = NULL;
LeaderList[1]=NULL;
}
void Manager::Job()
...{
cout<<"--------------------------------"<<endl;
cout<<"Manager information"<<endl;
Manager::Show();
cout<<endl;
cout<<"--------------------------------"<<endl;
cout<<"Manager Job"<<endl;
LeaderList[0]->Job();
LeaderList[1]->Job();
cout<<"Manager Total Time: "<<Manager::GetTotalTime()<<endl;
cout<<"-------------------------------"<<endl;
}
- 再读C++ Primer 写了个小例子(08-01-16)
- 再读C++ Primer 写了个小例子——运算符重载(08-01-17)
- 再读C++ Primer 写了个小例子——模板的操作(08-01-18)
- 再读C++ Primer 写了个小例子——练习多态虚函数的特性(08-01-25)
- 再读C++ Primer 写了个小例子——实现stack类的压栈弹栈功能(08-12-10)
- 再读C++ Primer 写了个小例子——模板类的操作
- 再读C++ Primer 写了个小例子——友员类的操作
- 再读C++ Primer 写了个小例子——多线程
- 再读C++ Primer 写了个小例子——网络编程
- 再读C++ Primer 写了个小例子——实现Vector类的自动添加元素功能(08-12-10)
- 再读C++ Primer 写了些小例子来熟悉C++基本语法
- 再读C++Primer
- c写了个通用链表带了例子。
- C++Primer再读读书笔记:第一、二章
- C++Primer再读读书笔记:第三章
- C++Primer再读读书笔记:第四章
- C++Primer再读读书笔记:第五章
- C++Primer再读读书笔记:第一、二章
- Java学习推荐教材
- Explorer命令行参数
- 使用SC在C#中取得windows服务的启动类型
- php七天入门教程第五天
- php七天入门教程第六天
- 再读C++ Primer 写了个小例子(08-01-16)
- php七天入门教程第七天
- tomcat 连接池(mysql)配置
- 看来 printf 是个取消点
- Tomcat5配置Mysql JDBC数据库连接池
- 再读C++ Primer 写了个小例子——运算符重载(08-01-17)
- Windows系统中巧妙隐藏驱动器
- 改进JAVA字符串分解的方法
- 从例子看List的add()方法的工作机制