C++题目东华
1. 定义一个点类Point,其有两个double型的私有数据成员x和y。此外还包含以下公有成员函数:
(1)构造函数,给点初始化;
(2)setPoint函数,设置点坐标值;
(3)distance函数,计算两点间的距离并返回,返回类型为double;
除此之外,需要重载运算符>>,用于输入点坐标;重载运算符<<,用于输出点坐标。输入输出格式见下面运行示例。
下面是该类的测试程序,请设计出类Point。
int main( )
{
Point a, b(9, 9);
cin>>a;
cout<<a<<endl;
cout<<b<<endl;
a.setPoint(7, 7);
cout<<"the distance of "<<a<<" and "<<b<<" is "<<a.distance(b)<<endl;
return 0;
}
当输入5 6时,输出为:
(5,6)
(9,9)
the distance of (7,7) and (9,9) is 2.82843
2. 设计Person类,其有3个private数据成员,string类型的code和name,分别表示编号和姓名;char 类型的sex,表示性别;两个public成员函数,input函数用于输入数据给数据成员,output函数用于输出数据成员的值。
在此基础上派生出Student类,其有1个private数据成员,int类型的score,表示分数;有1个public成员函数input用于输入数据给数据成员。除此需要重载<<运算符。
请编写Person和Student类,并可使用提供的main函数测试。
int main( ) {
Student s1, s2;
s1.input();
s2.input();
cout<<s1<<s2;
return 0;
}
下面是某次运行的情况,其中带下划线的为输入,其它为输出。
请输入编号 姓名 性别:101 zhang f
请输入成绩:90
请输入编号 姓名 性别:103 yuan m
请输入成绩:89
101 zhang f 90
103 yuan m 89
3.已知基类Building有3个int类型protected数据成员level、room、area;通过public继承获得2个派生类,派生类Housing有2个int类型private数据成员livingroom、bathroom;派生类Office有2个int类型private数据成员telephone、extinguisher。请设计这3个类,并编写合适的成员函数,要求使用以下main函数测试时,输出结果如下图:
int main( ) {
Building *f;
Housing hos(5,3,140,2,2);
Office ofc(2,12,500,12,2);
f=&hos;
f->show();
f=&ofc;
f->show();
return 0;
}
答案:
#include<iostream>
#include<cmath>
using namespace std; class Building
{
protected:
int level,room,area;
public:
virtual void *show(){ }
}; class Housing:public Building{
private:
int livingroom,bathroom;
public:
Housing(const int &level_, const int & room_, int area_, int livingroom_,int bathroom_){
level=level_;
room=room_;
area=area_;
livingroom=livingroom_;
bathroom=bathroom_;
}
void *show(){
cout<<"住宅楼:"<<endl;
cout<<"楼 层:"<<level<<endl;
cout<<"房间数:"<<room<<endl;
cout<<"总面积:"<<area<<endl;
cout<<"厅 数:"<<livingroom<<endl;
cout<<"浴室数:"<<bathroom<<endl<<endl;
} };
class Office:public Building{
private:
int telephone,extinguisher;
public:
Office(const int &level_, const int & room_, int area_, int telephone_,int extinguisher_){
level=level_;
room=room_;
area=area_;
telephone=telephone_;
extinguisher=extinguisher_;
}
void *show(){
cout<<"办公楼:"<<endl;
cout<<"楼 层:"<<level<<endl;
cout<<"房间数:"<<room<<endl;
cout<<"总面积:"<<area<<endl;
cout<<"电话数:"<<telephone<<endl;
cout<<"灭火器数:"<<extinguisher<<endl;
}
};
int main( ) {
Building *f;
Housing hos(5,3,140,2,2);
Office ofc(2,12,500,12,2);
f=&hos;
f->show();
f=&ofc;
f->show();
return 0;
}
#include<iostream>
#include<cmath>
using namespace std; class Person
{
public:
void input(const string name_, const string code_, char sex_){
name=name_;
code=code_;
sex=sex_;
output();
}
void output(){
cout<<code<<" "<<name<<" "<<sex<<" ";
}
private:
string name;
string code;
char sex;
}; class Student:public Person{
private:
int score;
public:
friend ostream & operator<<( ostream & os,const Person & c);
void input(){
cout<<"请输入编号 姓名 性别:";
string name1,code1;
char sex1;
cin>>code1;
cin>>name1;
cin>>sex1;
cout<<"请输入成绩:";
cin>>score;
Person::input(name1, code1, sex1);
cout<<score<<endl;;
}
};
ostream & operator<<( ostream & os,const Person & c)
{
return os;
}
#include<iostream>
#include<cmath>
using namespace std; class Point
{
public:
Point(double x=0, double y=0){
this->x= x;
this->y = y;
}
void setPoint(double x, double y)
{
this->x = x;
this->y = y;
}
friend ostream & operator<<( ostream & os,const Point & c);
friend istream & operator>>( istream & is,Point & c);
double distance(const Point &c)
{
int x1 =x- c.x;
int x2 =y- c.y;
return sqrt(x1*x1+x2*x2);
}
private:
double x;
double y;
};
ostream & operator<<( ostream & os,const Point & c)
{
os << "(" << c.x<<","<<c.y<< ")";
return os;
}
istream & operator>>( istream & is,Point & c)
{
cin>>c.x>>c.y;
return is;
}
int main( )
{
Point a, b(9, 9);
cin>>a;
cout<<a<<endl;
cout<<b<<endl;
a.setPoint(7,7);
cout<<"the distance of "<<a<<" and "<<b<<" is "<<a.distance(b)<<endl;
return 0;
}
C++题目东华的更多相关文章
- 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- 谈谈一些有趣的CSS题目(十一)-- reset.css 知多少?
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- 谈谈一些有趣的CSS题目(三)-- 层叠顺序与堆栈上下文知多少
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- 一道返回num值的小题目
题目描述: 实现fizzBuzz函数,参数num与返回值的关系如下: .如果num能同时被3和5整除,返回字符串fizzbuzz .如果num能被3整除,返回字符串fizz .如果num能被5整除,返 ...
- 谈谈一些有趣的CSS题目(一)-- 左边竖条的实现方法
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- 谈谈一些有趣的CSS题目(二)-- 从条纹边框的实现谈盒子模型
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- 谈谈一些有趣的CSS题目(四)-- 从倒影说起,谈谈 CSS 继承 inherit
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- 谈谈一些有趣的CSS题目(五)-- 单行居中,两行居左,超过两行省略
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- 谈谈一些有趣的CSS题目(六)-- 全兼容的多列均匀布局问题
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
随机推荐
- 第 5 篇 Scrum 冲刺博客
每天举行会议 会议照片: 昨天已完成的工作与今天计划完成的工作及工作中遇到的困难: 成员姓名 昨天完成工作 今天计划完成的工作 工作中遇到的困难 蔡双浩 实现重设计个人界面的功能添加 实现关注,被关注 ...
- 全国11省市出台区块链专项政策,Panda Global发现 "区块链+政务"被寄予厚望!
2020年已经过半,回顾2020年的上半年,不难发现其实区块链的变化非常大,今天Panda Global就给大家回顾下上半年全国关于区块链政策的发布情况.今年上半年,全国已有11个省市出台区块链专项政 ...
- Codeforces Round #685(Div2)
Contest Link Official Editorial A. Subtract or Divide 给你一个数 \(n\) ,每一步可以做以下两个操作之一: 用一个不等于 \(n\) 的 \( ...
- Acwing 405. 将他们分好队
大型补档计划 题目链接 看到分成两组,想到二分图判定 + 染色. 二分图的特点是两个有矛盾的点连一条边,考虑在这道题中,如果 \(a, b\) 中有一个人不认识对方(或者两个人互不认识),就不可能分在 ...
- 题解-CF1239D Catowice City
CF1239D Catowice City 有 \(n\) 个人和 \(n\) 只猫.有 \(m\) 对人猫友谊,即第 \(u_i\) 个人认识第 \(v_i\) 只猫,保证第 \(i\) 个人和第 ...
- ant design 中实现表格头部可删除和添加
我是用antd pro做一个项目.有一个小需求是表格头部栏可操作.具体是表头的每一项都带一个"x"按钮,当不想展示这一栏的时候,直接点"x",这一栏就不展示了. ...
- HBase过滤器:SingleColumnValueFilter和FirstKeyOnlyFilter一起使用的问题
FirstKeyOnlyFilter是对第一列进行过滤,hbase中的列按照字典序排列,所以如果SingleColumnValueFilter中的过滤列不是第一列的话,FirstKeyOnlyFilt ...
- Pyhton3 文件拷贝
目录 Pyhton3 文件拷贝 shutil.copy()简单使用说明 Pyhton3 文件拷贝 导入模块shutil,使用模块中的shutil.copy()函数进行文件拷贝 shutil.cop ...
- C盘满了删除C盘文件
还有很多文件在C:\Users\lock\AppData 比如C:\Users\lock\AppData\Local\Temp 临时文件 C:\Users\lock\AppData\Roaming\ ...
- PHP7.4.3的BUG导致微信公众号CURl上传文件的412错误
https://segmentfault.com/q/1010000021407039 升级PHP就好了 https://segmentfault.com/q/1010000021407039