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类 (六) 三大特性 - 多态
多态的概念: # 多态的概念 # 指出了对象如何通过他们共同的属性和动作来操作及访问而不需考虑他们的具体的类 # 多态表明了动态绑定的存在,允许重载及运行时类型确定和验证. # 示例模拟: #水具有多 ...
随机推荐
- 大数据学习——mapreduce案例join算法
需求: 用mapreduce实现select order.orderid,order.pdtid,pdts.pdt_name,oder.amount from orderjoin pdtson ord ...
- [luoguP2184] 贪婪大陆(树状数组)
传送门 用两个树状数组,cr 维护 1....x 中 r 的数量 cl 维护 1....x 中 l 的数量 求答案的时候只需要求 y 前面 被作为左端点 的个数 - x 前面 被作为右端点的个数 —— ...
- hdu 2845简单dp
/*递推公式dp[i]=MAX(dp[i-1],dp[i-2]+a[j])*/ #include<stdio.h> #include<string.h> #define N 2 ...
- hdu1588:Gauss Fibonacci
对每个0<=i<n求f(g(i))的和,其中f(x)为斐波那契数列第x项,g(i)=k*i+b,k,b,n给定,模数给定. 斐波那契数有一种用矩阵乘法求的方法,这个矩阵A自己写,令F[i] ...
- BZOJ3926 (后缀自动机)
BZOJ3926 诸神眷顾的幻想乡 Problem : 给一个n个节点的树(n<=10^5), 每个点有一种颜色(c<=10), 询问所有点对之间路径组成字符串的种类.保证叶子节点小于等于 ...
- linux 安装报错:pkg-config not found
linux 安装报错:pkg-config not found 使用编译安装时,在执行./configure时报如下错误: ... ... checking for pkg-config... no ...
- Permutation Sequence(超时,排列问题)
The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of the p ...
- [Bzoj4570][Scoi2016]妖怪(右上凸包)
4570: [Scoi2016]妖怪 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1110 Solved: 336[Submit][Status][ ...
- html页面中拍照和上传照片那些事儿(一)
本文为原创,转载请注明出处: cnzt 文章:cnzt-p http://www.cnblogs.com/zt-blog/p/6709037.html 一. 思路: <input type= ...
- easyshell 安装
EasyShell是一个可以直接在Eclipse IDE中打开shell窗口的工具,在shell中运行选中的文件,打资源管理. 百度经验:jingyan.baidu.com 工具/原料 Easy_Sh ...