YTU 2444: C++习题 对象转换
2444: C++习题 对象转换
时间限制: 1 Sec 内存限制: 128 MB
提交: 914 解决: 581
题目描述
定义一个Teacher(教师)类(教师号,姓名,性别,薪金)和一个Student(学生)类(学号,姓名,性别,成绩),二者有一部分数据成员是相同的,num(号码),name(姓名),sex(性别)。编写程序,将一个Student对象(学生)转换为Teacher(教师)类,只将以上3个相同的数据成员移植过去。可以设想为: 一位学生大学毕业了,留校担任教师,他原有的部分数据对现在的教师身份来说仍然是有用的,应当保留并成为其教师数据的一部分。
输入
一个教师的信息和一个学生的信息
输出
学生的信息和学生转换为教师后的信息
样例输入
10001 Li f 1234.5
20010 Wang m 89.5
样例输出
student1:
num:20010
name:Wang
sex:m
score:89.50
teacher2:
num:20010
name:Wang
sex:m
pay:1500.00
提示
主函数已给定如下,提交时不需要包含,会自动添加到程序尾部
int main()
{
cout<<setiosflags(ios::fixed);
cout<<setprecision(2);
int num;
char name[20];
char sex;
float score;
float pay;
cin>>num>>name>>sex>>pay;
Teacher teacher1(num,name,sex,pay);
cin>>num>>name>>sex>>score;
Student student1(num,name,sex,score);
cout<<"student1:"<<endl;
student1.display();
Teacher teacher2=Teacher(student1);
teacher2.setpay(1500);
cout<<"teacher2:"<<endl;
teacher2.display();
return 0;
}
迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……
#include <iostream>
#include <iomanip>
using namespace std;
class Student
{
public:
Student(int n,char *na,char s,float sc):num(n),sex(s),score(sc)
{
int i;
for(i=0; na[i]!='\0'; i++)
{
name[i]=na[i];
}
name[i]='\0';
}
void display()
{
cout<<"num:"<<num<<endl<<"name:";
for(int i=0; name[i]!='\0'; i++)cout<<name[i];
cout<<endl<<"sex:"<<sex<<endl;
cout<<"score:"<<score<<endl;
}
int num;
char name[20],sex;
float score,pay;
};
class Teacher:public Student
{
public:
Teacher(int n,char *na,char s,float p):Student(n,na,s,p),num(n),sex(s) {}
Teacher(Student&a):Student(num,name,sex,score)
{
sex=a.sex;
num=a.num;
int i;
for(i=0; a.name[i]!='\0'; i++)name[i]=a.name[i];
name[i]='\0';
}
void setpay(int n)
{
pay=n;
}
void display()
{
cout<<"num:"<<num<<endl<<"name:";
for(int i=0; name[i]!='\0'; i++)cout<<name[i];
cout<<endl<<"sex:"<<sex<<endl;
cout<<"pay:"<<pay<<endl;
}
int num;
char name[20],sex;
float score,pay;
};
int main()
{
cout<<setiosflags(ios::fixed);
cout<<setprecision(2);
int num;
char name[20];
char sex;
float score;
float pay;
cin>>num>>name>>sex>>pay;
Teacher teacher1(num,name,sex,pay);
cin>>num>>name>>sex>>score;
Student student1(num,name,sex,score);
cout<<"student1:"<<endl;
student1.display();
Teacher teacher2=Teacher(student1);
teacher2.setpay(1500);
cout<<"teacher2:"<<endl;
teacher2.display();
return 0;
}
#include <iostream>
#include <iomanip>
using namespace std;
class Student
{
public:
Student(int n,char *na,char s,float sc):num(n),sex(s),score(sc)
{
int i;
for(i=0; na[i]!='\0'; i++)
{
name[i]=na[i];
}
name[i]='\0';
}
void display()
{
cout<<"num:"<<num<<endl<<"name:";
for(int i=0; name[i]!='\0'; i++)cout<<name[i];
cout<<endl<<"sex:"<<sex<<endl;
cout<<"score:"<<score<<endl; }
int num;
char name[20],sex;
float score,pay;
};
class Teacher:public Student
{
public:
Teacher(int n,char *na,char s,float p):Student(n,na,s,p),num(n),sex(s) {}
Teacher(Student&a):Student(num,name,sex,score)
{
sex=a.sex;
num=a.num;
int i;
for(i=0; a.name[i]!='\0'; i++)name[i]=a.name[i];
name[i]='\0';
}
void setpay(int n)
{
pay=n;
}
void display()
{
cout<<"num:"<<num<<endl<<"name:";
for(int i=0; name[i]!='\0'; i++)cout<<name[i];
cout<<endl<<"sex:"<<sex<<endl;
cout<<"pay:"<<pay<<endl;
}
int num;
char name[20],sex;
float score,pay;
};
int main()
{
cout<<setiosflags(ios::fixed);
cout<<setprecision(2);
int num;
char name[20];
char sex;
float score;
float pay;
cin>>num>>name>>sex>>pay;
Teacher teacher1(num,name,sex,pay);
cin>>num>>name>>sex>>score;
Student student1(num,name,sex,score);
cout<<"student1:"<<endl;
student1.display();
Teacher teacher2=Teacher(student1);
teacher2.setpay(1500);
cout<<"teacher2:"<<endl;
teacher2.display();
return 0;
}
YTU 2444: C++习题 对象转换的更多相关文章
- YTU 2432: C++习题 对象数组输入与输出
2432: C++习题 对象数组输入与输出 时间限制: 1 Sec 内存限制: 128 MB 提交: 1603 解决: 1152 题目描述 建立一个对象数组,内放n(n<10)个学生的数据( ...
- C++习题 对象转换
[Submit][Status][Web Board] Description 定义一个Teacher(教师)类(教师号,姓名,性别,薪金)和一个Student(学生)类(学号,姓名,性别,成绩),二 ...
- 采用Lambda表达式快速实现实体模型对象转换到DTO
在项目中,采用code first时建立的模型对象不能直接用于数据传输,需要从新根据需求建立Dto对象 为什么需要建立Dto对象呢? DTO即数据传输对象.之前不明白有些框架中为什么要专门定义DTO来 ...
- Newtonsoft.Json 把对象转换成json字符串
var resultJson = new { records = rowCount, page = pageindex, //总页数=(总页数+页大小-1)/页大小 total = (rowCount ...
- python class对象转换成json/字典
# -*- encoding: UTF-8 -*- class Student: name = '' age = 0 def __init__(self, name, age): self.name ...
- 前台 JSON对象转换成字符串 相互转换 的几种方式
在最近的工作中,使用到JSON进行数据的传递,特别是从前端传递到后台,前台可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,后台使用requ ...
- javascript 中关于对象转换数字值的一些特点
下面是摘至<Javascript 高级程序设计第三版>里的一段话 是关于对象转换数字值的一些规则 "在应用于对象时,先调用对象的valueOf()方法以取得一个可供操作的值.然后 ...
- android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...
- android XMl 解析神奇xstream 三: 把复杂对象转换成 xml
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...
随机推荐
- 货车运输(codevs 3287)
题目描述 Description A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 q 辆货车在运输货物,司机们想知道每辆车在不超过 ...
- laravel的视图
//输出视图 //建立控制器方法public function hello_test(){ return view('member/hello_test',['name'=>'张三','age' ...
- (9)C#连mysql
1官网下载 dll 2. using MySql.Data.MySqlClient; 3. <add key="con_MES" value="server=192 ...
- Java_AOP原理
AOP : 面向切面编程 在程序设计中,我们需要满足高耦合低内聚,所以编程需满足六大原则,一个法则. AOP面向切面编程正是为了满足这些原则的一种编程思想. 一.装饰者模式: 当我们需要给对象增加功能 ...
- 洛谷——P2298 Mzc和男家丁的游戏
P2298 Mzc和男家丁的游戏 题目背景 mzc与djn的第二弹. 题目描述 mzc家很有钱(开玩笑),他家有n个男家丁(做过上一弹的都知道).他把她们召集在了一起,他们决定玩捉迷藏.现在mzc要来 ...
- codevs——2693 上学路线(施工)
2693 上学路线(施工) 时间限制: 2 s 空间限制: 16000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 问题描述 你所在的城市街道好像一个 ...
- bzoj 5091: [Lydsy0711月赛]摘苹果
5091: [Lydsy0711月赛]摘苹果 Time Limit: 1 Sec Memory Limit: 256 MBSubmit: 148 Solved: 114[Submit][Statu ...
- MVC Html.AntiForgeryToken() 防止CSRF攻击 - CSDN博客
原文:MVC Html.AntiForgeryToken() 防止CSRF攻击 - CSDN博客 (一)MVC Html.AntiForgeryToken() 防止CSRF攻击 MVC中的Html.A ...
- centos安装python的虚拟环境和虚拟管理环境
一.大部分介绍的方式是使用pip安装:1.pip install virtualenv 2.pip install virtualenvwrapper 但是我安装完,并没有相应的命令:virt ...
- 【转载】一致性哈希算法(consistent hashing)
一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CARP使用的简 单哈 ...