YTU 2979: MathBook类--多态
2979: MathBook类--多态
时间限制: 1 Sec 内存限制: 128 MB
提交: 51 解决: 31
题目描述
Book类将自己的display函数设计为虚函数,从而通过父类指针调用其继承者MathBook的display函数实现多态。请将MathBook类补充完整。
只需提交补充部分。
请用C++方式提交
以下代码自动添加到提交代码前:
#include <iostream>
using namespace std;
class Book
{
public:
Book(int,int);
virtual void display();
protected:
int price;
int page;
};
class MathBook:public Book
{
public:
MathBook(int,int,int);
void display();
private:
int difficulty;
};
Book::Book(int a,int b)
{
price=a;
page=b;
}
void Book::display()
{
cout<<"price:"<<price<<endl;
cout<<"page:"<<page<<endl;
}
MathBook::MathBook(int a,int b,int c):Book(a,b)
{
difficulty=c;
}
//以下代码自动添加到提交代码后:
int main()
{
int price,page,difficulty;
cin>>price>>page;
Book book(price,page);
cin>>price>>page>>difficulty;
MathBook math(price,page,difficulty);
Book *p=&book;
p->display();
cout<<endl;
p=&math;
p->display();
return 0;
}
输入
第一行输入book对象的price和page;
第二行输入math对象的price、page和difficulty
输出
两个对象的信息
样例输入
50 220
50 220 5
样例输出
price:50
page:220 price:50
page:220
difficulty:5
你 离 开 了 , 我 的 世 界 里 只 剩 下 雨 。 。 。
#include <iostream>
using namespace std;
class Book
{
public:
Book(int,int);
virtual void display();
protected:
int price;
int page;
};
class MathBook:public Book
{
public:
MathBook(int,int,int);
void display();
private:
int difficulty;
};
Book::Book(int a,int b)
{
price=a;
page=b;
}
void Book::display()
{
cout<<"price:"<<price<<endl;
cout<<"page:"<<page<<endl;
}
MathBook::MathBook(int a,int b,int c):Book(a,b)
{
difficulty=c;
}
void MathBook::display()
{
cout<<"price:"<<price<<endl;
cout<<"page:"<<page<<endl;
cout<<"difficulty:"<<difficulty<<endl;
}
int main()
{
int price,page,difficulty;
cin>>price>>page;
Book book(price,page);
cin>>price>>page>>difficulty;
MathBook math(price,page,difficulty);
Book *p=&book;
p->display();
cout<<endl;
p=&math;
p->display();
return 0;
}
using namespace std;
class Book
{
public:
Book(int,int);
virtual void display();
protected:
int price;
int page;
};
class MathBook:public Book
{
public:
MathBook(int,int,int);
void display();
private:
int difficulty;
};
Book::Book(int a,int b)
{
price=a;
page=b;
}
void Book::display()
{
cout<<"price:"<<price<<endl;
cout<<"page:"<<page<<endl;
}
MathBook::MathBook(int a,int b,int c):Book(a,b)
{
difficulty=c;
}
void MathBook::display()
{
cout<<"price:"<<price<<endl;
cout<<"page:"<<page<<endl;
cout<<"difficulty:"<<difficulty<<endl;
}
int main()
{
int price,page,difficulty;
cin>>price>>page;
Book book(price,page);
cin>>price>>page>>difficulty;
MathBook math(price,page,difficulty);
Book *p=&book;
p->display();
cout<<endl;
p=&math;
p->display();
return 0;
}
YTU 2979: MathBook类--多态的更多相关文章
- 【C++】类-多态
类-多态 目录 类-多态 1. 基本概念 2. 运算符重载 2.1 重载为类的成员函数 2.2 重载为非成员函数 3. 虚函数 4. 抽象类 5. override与final 1. 基本概念 多态性 ...
- python 全栈开发,Day21(抽象类,接口类,多态,鸭子类型)
一.昨日复习 派生方法和派生属性 super 只有在子父类拥有同名方法的时候, 想使用子类的对象调用父类的方法时,才使用super super在类内 : super().方法名(arg1,..) 指名 ...
- python面向对象 : 抽象类(接口类),多态,封装(私有制封装)
一. 抽象类(接口类) 与java一样, python也有抽象类的概念但是同样需要借助模块实现,抽象类是一个特殊的类, 它的特殊之处在于只能被继承, 不能被实例化. 从设计角度去看, 如果类是从现实对 ...
- c++中的类(class)-----笔记(类多态)
1,多态是一种运行期绑定机制,通过这种机制,实现将函数名绑定到函数具体实现代码的目的.一个函数的名称与其入口地址是紧密相连的,入口地址是该函数在内存中的起始地址.如果对一个函数的绑定发生在运行时刻而非 ...
- 【学习笔记】--- 老男孩学Python,day18 面向对象------抽象类(接口类), 多态, 封装
抽象类,接口类 Python没有接口这个概念 抽象类(接口类): 目的是制定一个规范 要学会归一化设计,有重复的东西就要想把它们合并起来 from abc import ABCMeta, abstra ...
- python day - 19 抽象类 接口类 多态 封装
一. 抽象类接口类即制定一个规范 特点: 1.不可被实例化. 2.规范子类当中必须事先某个方法. 3.在python中有原生实现抽象类的方法,但没有原生实现接口类的方法. 例题:制定一个规范就是,子类 ...
- python(类多态)
一.多态 (以封装和继承为前提)不同的子类调用相同的方法,产生不同的结果 class Dog(): def __init__(self,name): self.name = name def game ...
- python之7-2类的继承与多态
类的继承的意思就如同父子关系一样,这个儿子继承了父亲的一切,但是在某些地方(属性)相同的时候,儿子的属性大于老子的属性(覆盖),最底层类,总会继承最接近它的那个类的属性init 类的多态总是和继承相连 ...
- python - class类 (六) 三大特性 - 多态
多态的概念: # 多态的概念 # 指出了对象如何通过他们共同的属性和动作来操作及访问而不需考虑他们的具体的类 # 多态表明了动态绑定的存在,允许重载及运行时类型确定和验证. # 示例模拟: #水具有多 ...
随机推荐
- mongodb 的创建和使用
1. sudo apt-get install mongodb 2. 登陆数据库: mongo, 3. 创建数据库:use dbname 4. 插入数据: db.dbname.insert({&quo ...
- php 正则匹配包含字母、数字以及下划线,且至少包含2种
新系统注册功能需对用户名和密码做以下要求:包含字母.数字以及下划线,且至少包含2种: 在网上没有搜到符合要求的代码,于是自己对他人代码做了一点修改,经测试满足要求.代码如下: if (!preg_ma ...
- 二分图最大权完美匹配KM算法
KM算法二分图 KM求得二分图与普通二分图的不同之处在于:此二分图的每条边(男生女生)上都附了权值(好感度).然后,求怎样完美匹配使得权值之和最大. 这,不止一般的麻烦啊. 可以通过一个期望值来求. ...
- Light oj-1259 - Goldbach`s Conjecture
1259 - Goldbach`s Co ...
- Linux CentOS命令行界面字体重复问题解决记录
问题描述: 安装完CentOS 6.5 mini版之后,安装图形界面,启动之后出现如下问题,字体有重复 应该是因为字体原因, 我的解决方法: yum -y install dejavu-sans-* ...
- hdu 1325数据弱
#include<stdio.h>//判断是否有环,判断是否有点,判断是否是一个父节点 #include<string.h> #define N 1000000 int pre ...
- [NOIP2000] 提高组 洛谷P1017 进制转换
题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*10^2+2*10^1+3*10^ ...
- mysql 时间类型datetime与timestamp区别比较
mysql 时间类型datetime与timestamp区别比较 相同点: 显示宽度和格式相同,显示宽度固定在19字符,格式为YYYY-MM-DD HH:MM:SS. 不同点: (1)时间范围不同: ...
- HDU 5695 Gym Class
拓扑排序. #include<cstdio> #include <iostream> #include<cstring> #include<cmath> ...
- Piggy-Bank--hdu1114(完全背包)
http://acm.hdu.edu.cn/showproblem.php?pid=1114 Problem Description Before ACM can do anything, a bud ...