posts - 1,  comments - 6,  trackbacks - 0

#include<iostream>
#include"string.h"
using namespace std;

//#ifndef MANAGERPERSON_H
//#define MANAGERPERSON_H
class Date
{
 public:
 Date();
 Date(int y,int m,int d);//构造函数  
 Date(Date &d);//拷贝构造函数
 int GetYear();
 int GetMonth();
 int GetDay();
 private:
 int year,month,day;
};

class Person
{
 public:
 Person( );
 Person(Date d1);//类的组合 
 void setNumber(char* no);
 void setSex(char* s);
 void setID(char* id);
 void setName(char* name_);
 void display();//内联函数
 
    char name[11];
 char number[7];
 char sex[3];
 Date birthday;
 int year,month,day;
 char ID[16];
};
class student:virtual public Person{
private:
 char classNo[7];//班级

public:
 student();
 student(Date date);//因为虚基类有一个带参数的组合构造函数
    void display_s();//输出一些信息

};

class teacher:virtual public Person{
private:
 char principalship[11];//职务
 char department[21];//部门
public :
 teacher();
 teacher(Date date);
 void display_t();//输出一些信息

};
class graduate:public student{
private:
 char subject[21];//专业
 teacher adviser;//导师
public:
 graduate();
 graduate(Date date);
    void display_g();//输出一些信息
};
class TA:public teacher,public graduate{
public :
 TA(Date date);
    

};
//#endif            


//日期类实现
Date::Date(){}
Date::Date(int y,int m,int d)//构造函数
 {
  year=y;
  month=m;
  day=d;
 }
//Date::~Date(){}//析构函数实现
int Date:: GetYear(){return year;}
int Date:: GetMonth(){ return month;}
int Date:: GetDay(){ return day;}
Date::Date(Date &d)//拷贝构造函数实现
{
 year=d.year;
 month=d.month;
 day=d.day;
 cout<<" 调用Date的拷贝构造函数 "<<endl;
 
}

//人员类的实现
Person::Person(){}
Person::Person(Date d1):birthday(d1)//类的组合实现
{  
   char* no="064401";
   char* s="bo";
   char* id="36252419880501";
   char* n="huangqin";
   strcpy(number,no);
   strcpy(sex,s);
   strcpy(ID,id);
   strcpy(name,n);
   
 year=birthday.GetYear();
 month=birthday.GetMonth();
 day=birthday.GetDay();
}
//Person::~Person(){}//析构函数实现
void Person::setNumber(char* no){ strcpy(number,no);}
void Person::setSex(char* s){ strcpy(sex,s); }
void Person::setID(char* id){ strcpy(ID,id); }
void Person::setName(char* name_){ strcpy(name,name_); }
void Person::display(){ }//内联函数实现


//学生类实现
     student::student(){  }
student::student(Date date):Person(date)
{   
 char *n="064401";   
  strcpy(classNo,n);
    
}
inline void student::display_s(){
    cout<<"name="<<name<<endl;
 cout<<"number="<<number<<endl;
 cout<<"sex="<<sex<<endl;
 cout<<"ID="<<ID<<endl;
 cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
 cout<<"classNo is:"<<classNo<<endl;
 }

//老师类实现
teacher::teacher(){}

teacher::teacher(Date date):Person(date)
{
    char *p="C teacher";
 char *d="computer department"; 
 strcpy(principalship,p);
    strcpy(department,d);
  

}
inline void teacher::display_t(){
    cout<<"name="<<name<<endl;
 cout<<"number="<<number<<endl;
 cout<<"sex="<<sex<<endl;
 cout<<"ID="<<ID<<endl;
 cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
 cout<<"principalship is:"<<principalship<<endl;
 cout<<"department is:"<<department<<endl;
}

//研究生类实现
graduate::graduate(){}

graduate::graduate(Date date):student(date)
{
    char *s="c++programing";
    strcpy(subject ,s);      
    teacher adviser;   

}
inline void graduate::display_g(){//内联函数
    cout<<"name="<<name<<endl;
 cout<<"number="<<number<<endl;
 cout<<"sex="<<sex<<endl;
 cout<<"ID="<<ID<<endl;
 cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
 cout<<"subject is:"<<subject<<endl;
 //graduate::adviser.display_t();不能实现
}

//TA类实现
TA::TA(Date date):teacher(date),graduate(date){}

int main()
{
 Date date1(1988,5,7);//生日
 Date date2(1988,5,8);
 Date date3(1988,5,9);

  
    student stu(date1);//学生
 stu.setID("362524198815");
 stu.setName("huangdan");
 stu.setNumber("064404");
 stu.setSex("gir"); 
 stu.display_s();

 teacher tea(date2);//老师
    tea.setID("362524198805");
 tea.setName("huangqin");
 tea.setNumber("064402");
 tea.setSex("boy");
 tea.display_t();


    graduate gra(date3);//研究生
 gra.setID("362524198835");
 gra.setName("huanglia");
 gra.setNumber("064403");
 gra.setSex("boy");
 gra.display_g();

 return 0;
}

posted on 2008-12-01 22:59 黄琴 阅读(85) 评论(0)  编辑 收藏 引用
<2025年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(1)

随笔档案

文章分类

文章档案

相册

搜索

  •  

最新评论