zoukankan      html  css  js  c++  java
  • 继承和组合

    题目:
    分别定义类如下:
    (1) Birthday(生日类) 含有:year(年), month (月),日 (day) 等数据成员
    (2) Staff(职工类)含有:num(工号),name(姓名),sex(性别) 等数据成员
    (3) Teacher(教师类)含有:职工类和生日类的数据成员
    要求:
    (1)通过对Staff和Birthday使用继承和组合的方式设计Teacher;
    (2)定义Teacher类对象teach,并给出所有数据的初值,数据自拟;
    (3)修改teach的生日数据;
    (4)输出teach的全部最新数据。

    #include <iostream>
    #include <stdio.h>
    using namespace std;
    class Staff {
    	public:
    		Staff() {}
    		Staff(int n,char *na,bool s):num(n),name(na),sex(s){}
    		void display() {
    			cout<<num<<endl
    			<<name<<endl
    			<<sex<<endl;
    		}
    	protected:
    		int num;
    		char *name;
    		bool sex;
    };
    
    class Birthday {
    	public:
    		Birthday(int y=0,int m=0,int d=0):year(y),month(m),day(d){}
    		void display() {
    			cout<<year<<endl
    			<<month<<endl
    			<<day<<endl;
    		}
    		void Correct(int y,int m,int d) {
    			year=y,month=m,day=d;
    		}
    	protected:
    		int year,month,day;
    };
    
    class Teacher:public Staff {
    	private:
    		Birthday bir;
    	public:
    		Teacher(int n,char *na,bool s,int y,int m,int d):Staff(n,na,s),bir(y,m,d){}
    		void display() {
    			Staff::display();
    			bir.display();
    		}
    		void Correct(int y,int m,int d) {
    			bir.Correct(y,m,d);
    		}
    }; 
    
    int main()
    {
    	Teacher tea(171012346,"XYQ",1,1999,02,24);
    	tea.display();
    	tea.Correct(1999,03,31);
    	tea.display();
    	return 0;
    } 
    
  • 相关阅读:
    CF700E Cool Slogans
    [NOI2018]你的名字
    [CTSC2012]熟悉的文章
    CF666E Forensic Examination
    [BZOJ4310]跳蚤
    CF1063F String Journey
    [BZOJ3277]串/CF204E Little Elephant and Strings
    CF123D String
    使用ActiveReports for .net 进行报表开发之交叉报表(转)
    使用ActiveReport for .net 进行报表开发(一)(转自Cure The Last Day Of Summer)
  • 原文地址:https://www.cnblogs.com/xyqxyq/p/10350152.html
Copyright © 2011-2022 走看看