设计一个用于人事管理的People(人员)类

 1 #include <iostream>
 2 #include <string>
 3 using namespace std;
 4
 5 class Date //日期类
 6 {
 7 private:
 8 int year;
 9 int month;
10 int day;
11 public:
12 Date(){} //默认构造
13 Date(int y,int m,int d) //带参构造
14 {
15 year=y;
16 month=m;
17 day=d;
18 }
19 void set() //设置数据函数
20 {
21 cin>>year>>month>>day;
22 }
23 void display() //显示函数
24 {
25 cout<<year<<"年"<<month<<"月"<<day<<"日";
26 }
27 };
28
29 class Person //人员类
30 {
31 private:
32 int num;
33 char sex;
34 Date birthday;
35 char ID[18];
36 public:
37 Person(){} //默认构造
38 Person(int n,int y,int m,int d,char id[18],char s=‘m‘):birthday(y,m,d)
39 {
40 num=n;
41 sex=s;
42 strcpy(ID,id);
43 } //有默认值的带参构造
44 Person(Person& p) //拷贝构造
45 {
46 num=p.num;
47 sex=p.sex;
48 birthday=p.birthday;
49 strcpy(ID,p.ID);
50 }
51 void input() //输入函数
52 {
53 cout<<"录入数据:"<<endl;
54 cout<<"编号:";
55 cin>>num;
56 cout<<"性别(m/f):";
57 cin>>sex;
58 cout<<"生日:";
59 birthday.set();
60 cout<<"身份证号:";
61 cin>>ID;
62 ID[18]=‘\0‘;
63 cout<<endl;
64 }
65 void output() //输出函数
66 {
67 cout<<"编号:"<<num<<endl;
68 cout<<"性别:"<<sex<<endl;
69 cout<<"生日:";
70 birthday.display();
71 cout<<endl;
72 cout<<"身份证号:"<<ID<<endl;
73 }
74 ~Person() //析构函数
75 {
76 cout<<" "<<num<<"号人员已经录入"<<endl;
77 }
78 };
79
80 int main()
81 {
82 Person p1;
83 p1.input();
84 p1.output();
85 return 0;
86 }
时间: 2024-08-27 17:44:20

设计一个用于人事管理的People(人员)类的相关文章

设计一个字节数组缓存类

转 http://blog.csdn.net/kakashi8841/article/details/42025367 版权所有,转载须注明出处! 1.为什么要 在做网络通信的时候,经常需要用到: 读:就是我们需要从网络流里面读取字节数据,并且由于分包的原因,我们需要自己缓存这些数据,而不是读完立刻丢掉. 写:我们需要把各种类型的数据变成字节写入.比如把int.string.short等变成字节数组写入流. 2.需要什么 我们需要设计一个类来实现: 支持可以不停地往这个类中添加字节 支持写入in

作业题---设计一个类,求和的方法,求乘积的方法

设计一个类: 包含$a,$b,求和的方法,求乘积的方法,  可以对变量进行初始化, $a,$b必须大于0小于100 class suanshu{ private $shuzi1; private $shuzi2; function __construct($a,$b) { $this->shuzi1 = $a; $this->shuzi2 = $b; } function __set($n,$v) { if($v>0 and $v<100) { $this->$n = $v;

设计一个Bank类,银行某账号的资金往来账管理

设计一个Bank类,实现银行某账号的资金往来账管理,包括建账号.存入.取出等.Bank类包括私有数据成员top(当前指针).date(日期).money(金额).rest(余额)和sum(累计余额).另有一个构造函数和3个成员函数bankinO(处理存入账).bankout()(处理取出账)和disp( )(出明细账). [知识点]:2.2  2.3 [参考分]:25分 [难易度]:B 实现案例: /* 2017年8月19日23:03:58 */ #include<iostream> clas

Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。

#29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类Truck是Car类的子类,其中包含的属性有载重量payload.每个 类都有构造方法和输出相关数据的方法.最后,写一个测试类来测试这些类的功 能. package hanqi; public class Vehicle { private int wheels; private int weight

oc 文件管理NSFileManager,文件读写NSFileHandle ,设计一个文件管理类将一个文件复制到另一个文件,由于文件过大要求每次复制100长度,通过NSFileHandle 来操作,并

设计一个文件管理类将一个文件复制到另一个文件,由于文件过大要求每次复制100长度,通过NSFileHandle来操作,并通过代理模式打印出当前的赋值进度百分比 main.m #import <Foundation/Foundation.h> #import "FileMaker.h" int main(int argc,const char * argv[]) { @autoreleasepool { NSString * fromPath = [NSHomeDirecto

设计一个字符串类String(C++练习题)

要求:设计一个字符串类String,可以求字符串长度,可以连接两个串(如,s1="计算机",s2="软件",s1与s2连接得到"计算机软件"),并且重载"="运算符进行字符串赋值,编写主程序实现:s1="计算机科学",s2="是发展最快的科学!",求s1和s2的串长,连接s1和s2 #include "stdafx.h" #include <iostream&g

设计一个学生类&amp;班级类

第一题 设计一个学生类 属性:姓名.学号.年龄.成绩 设计一个班级类要求:实现向班级中添加学生.删除学生.查看学生.按照指定条件排序 属性:班级代号,所有学生 需要使用 calss, __int__, __str__, sort, append, dict, list, remove, for in class Stu: # 设置学生基础属性 def __init__(self, name, num, age, cj): self.name = name self.num = num self.

C++中如何设计一个类只能在堆或者栈上创建对象

设计一个类,该类只能在堆上创建对象 将类的构造函数私有,拷贝构造声明成私有.防止别人调用拷贝在栈上生成对象. 提供一个静态的成员函数,在该静态成员函数中完成堆对象的创建 注意 在堆和栈上创建对象都会调用构造函数,为了防止在栈上创建对象我们将构造函数私有化. 拷贝构造函数是在栈上创建对象. 1 class HeapOnly 2 { 3 public: 4 static HeapOnly* CreateObject() 5 { 6 return new HeapOnly;//这使得创建该类对象都只能

6-1 设计一个矩形类Rectangle (10分)

设计一个名为Rectangle的类表示矩形.这个类包括: 两个名为width和height的double型数据域,它们分别表示矩形的宽和高.width和height的默认值都为1. 一个无参构造方法. 一个为width和height指定值的矩形构造方法. 一个名为getArea()的方法返回这个矩形的面积. 一个名为getPerimeter()的方法返回这个矩形的周长. 类名为: Rectangle 裁判测试程序样例: import java.util.Scanner; /* 你的代码将被嵌入到