资源描述:
《面向对象真题回忆版》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1、有一个多行文本的缓冲区,设计接口完成以下功能(18分,每题3分)(1)计算缓冲区的行数(2)计算某行有多少个字符(3)在缓冲区某位置插入n个字符(或插入一个字符串)(4)在缓冲区指定位置删除n个字符(5)在缓冲区指定位置替换n个字符(6)返回缓冲区指定位置某个字段的个数//文本缓冲区处理接口classCBufInterface{public:virtualintGetLineCount()=0;//计算缓冲区的行数//返回值:缓冲区函数virtualintGetTextCount(intnLine)=0;//
2、计算某行有多少个字符//返回值:某行的字符数//参数:nLine行号virtualintInsertIn(intnIndex,char*pchar,intnLength)=0;//在缓冲区某位置插入n个字符(或插入一个字符串)//返回值:插入字符串后缓冲区长度//参数:nIndex字符插入位置,pchar待插入字符串首地址,nLength待插入字符串长度virtualintDeleteIn(intnIndex,intnLength)=0;//在缓冲区指定位置删除n个字符//返回值:删除字符后缓冲区长度//参数:n
3、Index第一个被删除字符位置,nLength删除的字符个数virtualintReplace(intnIndex,char*pchar,intnLength)=0;//在缓冲区指定位置替换n个字符//返回值:替换字符串后缓冲区长度//参数:nIndex代替换的第一个字符位置,pchar新字符串首地址,nLength新字符串长度virtualintFind(intnStart,intnLength,char*pchar)=0;//返回缓冲区指定位置某个字段的个数//返回值:指定位置内某字段出现个数//参数:nSt
4、art开始位置,nLength查找范围,pchar匹配字段};//根据具体的缓冲区类型实现接口classCConcreteBuf:publicCBufInterface{private:concretebuf*m_pbuf;public:CConcreteBuf(concretebuf*pbuf);intGetLineCount();intGetTextCount(intnLine);intInsertIn(intnIndex,char*pchar,intnLength);intDeleteIn(intnInde
5、x,intnLength)=0;intReplace(intnIndex,char*pchar,intnLength);intFind(intnStart,intnLength,char*pchar);};2、有一个记事本软件系统,用来记录一年中每天的事务记录,事务记录有三种:约见记录(会见人的信息(一个或多个)、时间、地点)、会议记录(主持部门、时间、地点、内容摘要)、记事记录(内容、时间)(42分)(1)画出类图(写出数据结构和类设计)(2)画活动图:指定10-0410:00-11:00,要求解析出日期和时间
6、,打印输出所有事务记录(3)编写算法实现(2)中的功能//日期classCDate{public:intmonth;intday;CDate(intm,intd);BOOLoperator==(CDate&date);};//时间clasCTime{public:inthour;intminute;CTime(inth,intm);BOOLoperator<=(CTime&time);BOOLoperator>=(CTime&time);};类图根据以下类设计自己画。。//记录管理类classCRecordSys
7、tem{private:CObListsets;//记录集链表public:voidAddRecord(CRecord*p);voidDelRecord(CRecord*p);voidDelRecord(CDatedate);voidDelRecord(CDatedate,CTimestime,CTimeetime);BOOLFind(CDatedate,CTimestime,CTimeetime);voidPrint(CDatedate,CTimestime,CTimeetime);};//一天的记录集clas
8、sCSet:publicCObject{private:CDatedate;CObListrecords;//记录链表public:voidAddRecord(CRecord*p);voidDelRecord(CRecord*p);BOOLFind(CTimestime,CTimeetime);voidPrint(CTimestime,CTimeetime);};//记录