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 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
随机推荐
- sqli-labs less-24(二次注入)
less-24 原理: 在网站处理用户提交的数据的时候,只是将某些敏感字符进行了转义.因而使得用户第一次提交的时候不会被当做代码执行.但是这些数据存入数据库的时候却没有转义,而网站程序默认数据库中的数 ...
- Linux下yum下载依赖包
先安装依赖包yum-plugin-downloadonly [root@node1 ~]# yum install yum-plugin-downloadonly 方法一: [root@node1 ~ ...
- JavaSE05-数组
1.概念 同一种类型数据的集合.其实数组就是一个容器. 2.优点 可以自动给数组中的元素从0开始编号,方便操作这些元素. 3.格式 1 元素类型[] 数组名 = new 元素类型[元素个数或数组长度] ...
- shell,计算指定行的和,计算指定列的和
有一个文本文件,里面某行某列为数字,那么如何用shell计算指定行(列)的和,方法如下 计算指定行的和: awk 'NR==3{for(i=1;i<=NF;i++)sum=sum+$i;}END ...
- nginx负载均衡引出的登录session的配置问题
不使用session,换成cookie session是存放在服务器端的,cookie是存放在客户端的,我们可以把用户访问页面产生的session放到cookie为中转站.你访问web服务器A,产生了 ...
- Kafka客户端编程入门介绍
1.maven依赖 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka ...
- 旁站和C段的简要解释
旁注与C段嗅探的意义,旁注的意思就是从同台服务器上的其他网站入手,提权,然后把服务器端了,就自然把那个网站端了.C段嗅探,每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B ...
- Python3和高性能全文检索引擎Redisearch进行交互
安装 pip install redisearch 使用 from redisearch import Client, TextField # 创建一个客户端与给定索引名称 client = Clie ...
- YOLO实践初探
学习了Andrew Ng 深度学习第三周卷积神经网络课程后,接着看了看YOLO论文,论文看得懵懵懂懂,沉不下心精雕细琢,手痒痒,迫不及待地想试一试YOLO效果.于是乎,在github上下载了ping星 ...
- Python之word文档模板套用 - 真正的模板格式套用
Python之word文档模板套用: 1 ''' 2 #word模板套用2:套用模板 3 ''' 4 5 #导入所需库 6 from docx import Document 7 ''' 8 #另存w ...