- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
运算符重载、继承、派生程序题及答案
1. ? (10分) 栈类——类模板 题目描述 用类模板方式设计一个链栈类stackT,其中有两个私有数据成员:NodeT *head(链首指针,即栈顶元素指针),int num(栈里结点数)以及3个公有成员函数:push(元素入栈)、pop(元素出栈)和stackempty(判断栈是否为空),并建立一个整数栈和一个字符栈。template class Tclass stack{};注意:为了能够生成结点类型不同的链式栈,结点类的设计也需要用类模板。templateclass Tclass Node{}; ? 输入描述 输入整数栈的数据元素和字符栈的数据元素 ? 输出描述 输出整数栈的数据元素出栈序列和字符栈的数据元素出栈序列 ? 输入样例 4 8 3 2 a d b c ? 输出样例 2 3 8 4 c b d a ?#includeiostream using namespace std; template class T class stack { template class T1 class Node { T1 a ; NodeT1 *next ; public: Node(T1 x):a(x) {} void show() { cout a endl ; } friend class stackT1 ; }; NodeT *head ; int num ; public: stack() { num = 0 ; head = NULL ; } void push(T x) { NodeT *p = new NodeT(x) ; p-next = head ; head = p ; num++ ; } T pop() { NodeT *p = head ; head = head-next ; T t = p-a ; delete p ; num-- ; return t ; } bool stackempty() { if( head == NULL ) return true; else return false; } }; int main() { stackint a ; stackchar b ; int x ; char y ; for(int i = 0 ; i 4 ; i ++ ) { cin x ; a.push(x) ; } for( int i = 0 ; i 4 ; i ++ ) { cin y ; b.push(y); } for( int i = 3 ; i = 0 ; i -- ) { a.stackempty() ; cout a.pop() ; } cout endl ; for( int i = 3 ; i = 0 ; i -- ) { b.stackempty(); cout b.pop() ; } cout endl ; return 0 ; } 2. ? (10分) 二进制类(1)——运算符重载 题目描述 将一个16位二进制数表示成0和1的字符序列,即用一个字符数组来存放这个二进制数。在这个类中设置两个构造函数,一个是传递整数参数的,另一个是传递字符串参数的。因为用户在创建对象时传递的二进制数,可能是以整数形式给出,也可能是以数字串形式给出,系统应该都能接受。另外有一个类型转换函数int(),用来将类类型向整型转换。两个重载运算符“+”,“-”,用来完成两个二进制数之间的加减运算。class binary { //定义二进制类char bits[16]; //二进制字模数组public:binary(char *); //字符串参数构造函数binary(int); //整型参数构造函数friend binary operator +(binary,binary); //重载“+”friend binary operator -(binary,binary); //重载“-”operator int(); //类类型转换函数void print();};主函数设计如下:int main(){binary n1=1011;binary n2=int(n1)+15;binary n3=n1-binary(7);n1.print();n2.print();n3.print();coutint(n2)+5endl;coutn2-bina
您可能关注的文档
最近下载
- 《SPSS实战与统计思维》读书笔记.pptx VIP
- 2025年新疆投资发展(集团)有限责任公司及所属公司公开招聘(42人)笔试备考试题及答案解析.docx VIP
- 《应急救援技能培训》课件.ppt VIP
- 临床技术操作规范-妇产科(11版).doc
- ISO 14001 2015 中英文.doc VIP
- 2025辽宁省交通建设投资集团有限责任公司招聘16人笔试历年参考题库附带答案详解.docx
- 2025年水平定向钻市场调查报告.docx
- 美国发展历程.ppt VIP
- 【农业农村部】中国农业展望报告(2025—2034).docx
- DB34_T4098.2-2022_建筑固废再生作道路材料应用技术规程第2部分:路基工程_安徽省.docx VIP
文档评论(0)