设计一个用于人事管理的People(人员)类
#include <iostream>
#include <string>
using namespace std; class Date //日期类
{
private:
int year;
int month;
int day;
public:
Date(){} //默认构造
Date(int y,int m,int d) //带参构造
{
year=y;
month=m;
day=d;
}
void set() //设置数据函数
{
cin>>year>>month>>day;
}
void display() //显示函数
{
cout<<year<<"年"<<month<<"月"<<day<<"日";
}
}; class Person //人员类
{
private:
int num;
char sex;
Date birthday;
char ID[];
public:
Person(){} //默认构造
Person(int n,int y,int m,int d,char id[],char s='m'):birthday(y,m,d)
{
num=n;
sex=s;
strcpy(ID,id);
} //有默认值的带参构造
Person(Person& p) //拷贝构造
{
num=p.num;
sex=p.sex;
birthday=p.birthday;
strcpy(ID,p.ID);
}
void input() //输入函数
{
cout<<"录入数据:"<<endl;
cout<<"编号:";
cin>>num;
cout<<"性别(m/f):";
cin>>sex;
cout<<"生日:";
birthday.set();
cout<<"身份证号:";
cin>>ID;
ID[]='\0';
cout<<endl;
}
void output() //输出函数
{
cout<<"编号:"<<num<<endl;
cout<<"性别:"<<sex<<endl;
cout<<"生日:";
birthday.display();
cout<<endl;
cout<<"身份证号:"<<ID<<endl;
}
~Person() //析构函数
{
cout<<" "<<num<<"号人员已经录入"<<endl;
}
}; int main()
{
Person p1;
p1.input();
p1.output();
return ;
}
设计一个用于人事管理的People(人员)类的更多相关文章
- 实现一个名为Person的类和它的子类Employee,Manager是Employee的子类,设计一个方法add用于涨工资,普通员工一次能涨10%,经理能涨20%。
1.实现一个名为Person的类和它的子类Employee,Manager是Employee的子类,设计一个方法add用于涨工资,普通员工一次能涨10%,经理能涨20%.具体要求如下:(1)Perso ...
- Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。
#29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类T ...
- 用C++设计一个不能被继承的类(用私有构造函数+友元函数)
题目:用C++设计一个不能被继承的类. 分析:这是Adobe公司2007年校园招聘的最新笔试题.这道题除了考察应聘者的C++基本功底外,还能考察反应能力,是一道很好的题目. 在Java中定义了关键字f ...
- 第五十九届冠军(使用C++设计一个类不能被继承)
称号:使用C++设计一个类不能被继承. 分析:这是Adobe 公司2007 的笔试题最新校园招聘. 应聘者的C++基本功底外,还能考察反应能力,是一道非常好的题目. 分析:C++中父类的构造函数会调用 ...
- Cygwin 是一个用于 Windows 的类 UNIX shell 环境
cygwin的安装使用 Cygwin 是一个用于 Windows 的类 UNIX shell 环境. 它由两个组件组成:一个 UNIX API 库,它模拟 UNIX 操作系统提供的许多特性:以及 ...
- 设计一个字符串类String(C++练习题)
要求:设计一个字符串类String,可以求字符串长度,可以连接两个串(如,s1=“计算机”,s2=“软件”,s1与s2连接得到“计算机软件”),并且重载“=”运算符进行字符串赋值,编写主程序实现:s1 ...
- 设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”。。。
设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”,则抛出一个异常信息“This is a XYZ”,如果从命令行输入 ABC,则没有抛出异常.(只有 ...
- 设计一个学生类&班级类
第一题 设计一个学生类 属性:姓名.学号.年龄.成绩 设计一个班级类要求:实现向班级中添加学生.删除学生.查看学生.按照指定条件排序 属性:班级代号,所有学生 需要使用 calss, __int__, ...
- 高并发架构系列:如何从0到1设计一个类Dubbo的RPC框架
在过去持续分享的几十期阿里Java面试题中,几乎每次都会问到Dubbo相关问题,比如:“如何从0到1设计一个Dubbo的RPC框架”,这个问题主要考察以下几个方面: 你对RPC框架的底层原理掌握程度. ...
随机推荐
- Sublime Text实用小技巧
1.输入"!"或"html:5",然后按Tab键: html:5 或!:用于HTML5文档类型 html:xt:用于XHTML过渡文档类型 html:4s:用于 ...
- eclipse工具常用快捷键总结
1. ctrl + shift + r 可以根据类名快速找到你所需要的类名称 2. ctrl + shift + i debug的时候可以查看代码的值 3. ctrl + shift + f ...
- 限制textarea的字数(包括复制粘贴)
<textarea cols="100%" rows="10" id="tuconent" placeholder="评价( ...
- PHPCMS v9 安全防范教程
一.目录权限设置很重要:可以有效防范黑客上传木马文件.如果通过 chmod 644 * -R 的话,php文件就没有权限访问了.如果通过chmod 755 * -R 的话,php文件的权限就高了. 所 ...
- C#中的隐式类型var——详细示例解析
从 Visual C# 3.0 开始,在方法范围中声明的变量可以具有隐式类型var.隐式类型可以替代任何类型,它的具体类型由编译器根据上下文推断而出. 下面就让我来总结下隐式类型的一些特点: 1.va ...
- Ext.js细节:在MVC中处理Widget Column,GetCmp和ComponentQuery, Id和ItemId
针对EXT.JS版本的演进,要不断的学习新的最佳实践方法. 比如,在定义组件时,尽管用itemid,而不是id. 在搜索组件时,尽量用ComponentQuery,而不是getCmp. 在MVC中处理 ...
- linux环境中使用转义字符使命令行字符颜色高亮
而通过转义序列设置终端显示属性的格式为: \033[Param {;Param;...}m 其中转义序列以 \033[ 为开头,m 为设置属性结束,中间部分的 Param 为属性值,{} 表示可以设置 ...
- 自连接<EntityFramework6.0>
自引用 public class PictureCategory { [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int ...
- Java基础知识点4:继承
继承是面向对象编程技术中非常重要的一个基本概念.它背后的基本思想就是:通过已有的类来创建一个新的类,这个新的类可以重用(或继承)已有的类方法:新的类也可以加入新的方法和属性. 在这里我们通过一个实例来 ...
- C++-Qt【4】-CheckBox on QListView
引用:http://www.qtcentre.org/threads/47119-checkbox-on-QListView QListWidgetItem *item = new QListWidg ...