- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C 课程设计字符串类的设计与实现论文
C++课程设计字符串类的设计与实现论文
Typedef struct
Char *ch; /*若字符串为空,则按长度分配存储区,否则为NULL */
Int length; /*字符串的长度*、
(2)本题字符串要求用堆来分配字符串的存储空间,采用堆分配函数malloc,它的格式为T- ch char * malloc sizeof char *len,就会为字符串分配内存。
(3)函数是有字符串类进行调用的,通过在主函数中定义字符串类的对象,作为函数的参数,对于需要改写对象的需要进行址传递,我们可以通过函数在主函数中的反映来观察他的执行状态。
3 类设计
4 详细设计
整个程序分为三个独立的文档,Linequ.h文件中包括矩阵类Matrix和线性方程组类Linequ的声明,Linequ.cpp文件中包括这两个类的成员函数实现文件;main.cpp文件包括程序的主函数,主函数中定义了一个类Linequ的对象,通过这个对象求解一个四元线性方程组。
4.1 类的接口设计
//Linequ.h文件,实现类的声明
#include
#include
using namespace std;
class Matrix //基类Matrix声明
public: //外部接口
Matrix int dims 2 ; //构造函数
~Matrix ; //析构函数
void SetMatrix double *r ; //矩阵赋初值
void PrintM ; //显示矩阵
protected:
int index; //方阵的行数
double* MatrixA; //矩阵存放数组首地址
;
class Linequ:public Matrix //公有派生类Linequ声明
public: //外部接口
Linequ int dims 2 ; //构造函数
~Linequ ; //析构函数
void SetLinequ double *a, double *b ; //方程赋值
void PrintL ; //显示方程
int Solve ; //全选主元高斯消去法求解方程
void ShowX ; //显示方程的解
private: //私有数据
double *sums; //方程右端项
double *solu; //方程的解
;
经过公有派生,Linequ类获得了除构造函数、析构函数之外的Matrix类的全部成员,由于基类的成员是公有和保护类型,因此在派生类中的成员函数中,基类继承来的成员全部可以访问,而对于建立Linequ类对象的外部模块来讲,基类的保护成员是无法访问的。通过保护访问类型和公有的继承方式,实现了基类Matrix的数据的有效共享和可靠保护。在程序中,方程的系数矩阵、解以及右端项全部采用了动态内存分配技术,这些工作都是在基类、派生类的构造函数中完成,它们的清理工作在析构函数中完成。
4.2 类的实现
4.3 主函数设计
int main
int a 1,p,len;
MyString S;
MyString st1;
MyString st2;
MyString sub;
MyString T;
char ch1[20];
char cl;
cout ****************************欢迎进入字符串操作程序**************************** endl;
while a! 0
cout
cout 请选择功能操作: endl;
cout \n1.字符串的赋值\n2.字符串的长度\n3.字符串的比较\n4.字符串的连接\n5.求字符串的子串\n6.清空字符串\n0.退出 endl;
cin a;
switch a
case 0: cout ******************************谢谢使用!祝您工作顺利!***************************** endl;break;
case 1: cout 请输入用于赋值新字符串 endl;
cin ch1;
InitString st1 ;
StrAssign st1,ch1 ;
cout 字符串被赋的值为:;
PrintString st1 ;break ;
case 2: cout 请
文档评论(0)