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 ...
随机推荐
- PHP中的验证码类(准备篇)
<!--code.php内容--> <?php //开启session session_start(); include "vcode.class.php"; / ...
- 酒厂选址(codevs 1507)
题目描述 Description Abstinence(戒酒)岛的居民们酷爱一种无酒精啤酒.以前这种啤酒都是从波兰进口,但今年居民们想建一个自己的啤酒厂.岛上所有的城市都坐落在海边,并且由一条沿海岸线 ...
- 【HDOJ5949】Relative atomic mass(签到)
题意:给定一个只由H.C.O三种分子组成物质的分子式,求相对分子质量 len<=10 思路:队友写的 #include <stdio.h> #include <vector&g ...
- NOJ 1116 哈罗哈的大披萨 【淡蓝】 [状压dp+各种优化]
我只能说,珍爱生命,远离卡常数的题...感谢陈老师和蔡神,没有他们,,,我调一个星期都弄不出来,,,, 哈罗哈的大披萨 [淡蓝] 时间限制(普通/Java) : 1000 MS/ 3000 MS ...
- BZOJ 3675 [Apio2014]序列分割 (斜率优化DP)
题目链接 BZOJ 3675 首先最后的答案和分割的顺序是无关的, 那么就可以考虑DP了. 设$f[i][j]$为做了$i$次分割,考虑前$j$个数之后的最优答案. 那么$f[i][j] = max( ...
- android Activity生命周期的例子
package com.example.yanlei.yl2; import android.app.AlertDialog; import android.content.DialogInterfa ...
- reorder-list——链表、快慢指针、逆转链表、链表合并
Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do thi ...
- CS 和 BS 的区别和优缺点(转)
转自:http://www.cnblogs.com/scnuyz/p/5808808.html bs是浏览器(browser)和服务器(server) cs是静态客户端程序(client)和服务器(s ...
- C++ 学习总结 复习篇
友元的使用 分为友元类和友元函数 //友元类与友元函数的共同点:都可以让某一个类作为另一个类或者函数的参数. //友元类:它让当前类成为另一个类的友元,然后,另一个类 ...
- 面试-1-C#浅解
面试-1 C#浅解众所周知c#是微软推出的一款完全没面向对象的编程语言,那么对象是什么?在现实生活中人们一提到对象首先想到的就是“情侣”!但是在我们的程序中对象是什么? 在程序中个能够区别于其他事 ...