C++程序设计中的字符串常量解析

需积分: 9 0 下载量 76 浏览量 更新于2024-07-14 收藏 8.66MB PPT 举报
"C++程序设计相关知识,包括字符串常量的表示、内存占用以及C++语言的历史和发展特点" 在C++编程中,字符串常量是一个重要的概念。它们由双引号 " " 括起来,表示一系列连续的字符。例如,"CHINA" 就是一个字符串常量。在内存中,字符串常量是顺序存放的,每个字符占据一个字节,以空字符 '\0' 结束。这个空字符是ASCII码中的0,用于标记字符串的结尾。 以 "CHINA" 为例,它的内存布局如下: 0x43 对应 'C' 0x48 对应 'H' 0x49 对应 'I' 0x55 对应 'N' 0x41 对应 'A' 00000000 对应 '\0' 值得注意的是,单个字符 'a' 在内存中只占一个字节,但字符数组 "a"(即字符串常量)会包含两个字节,因为除了字符 'a' 外,还有一个 '\0' 空字符。 C++语言的发展历程与C语言紧密相连。C语言起源于20世纪60年代的BCPL和B语言,由Dennis Ritchie和Brian Kernighan在贝尔实验室设计出来,主要用于UNIX操作系统的开发。随着时间的推移,C语言因其简洁、高效和高度灵活性而广受欢迎。C++则是在C语言的基础上发展起来的,由Bjarne Stroustrup于1983年引入,增加了面向对象编程特性,如类、对象、继承、多态等,使得程序设计更加模块化和易于维护。 C++语言有以下几个主要特点: 1. 结构化编程:C++支持结构化编程,使代码组织清晰,便于理解和维护。 2. 高级与低级语言的结合:C++拥有丰富的运算符,包括算术、逻辑和位运算,同时提供了灵活的数据结构,兼具高级语言和汇编语言的特性。 3. 可移植性:C++程序在不同平台间有较好的可移植性,只需少量或无需修改即可在其他计算机上运行。 4. 语法规则的灵活性:这既对高级程序员有利,因为他们可以设计出高质量的通用程序,但也对初学者带来挑战,因为程序设计的自由度较大,调试可能较为困难。 理解字符串常量的表示和C++语言的特点是学习C++程序设计的基础。掌握这些知识,将有助于编写更高效、更易维护的代码。

定义一个基类 BaseString,实现基本的输入字符串的功能。 //-------------------------------------------------------------------------------------------------- class BaseString { public: char *GetData();//返回字符串 void Input(); //输入字符串,遇到换行符结束 void Display();//显示字符串 BaseString(); ~BaseString(); unsigned int Getlength(){ return Length;}//获取字符串长度 protected: char Data[1024]; unsigned Length; //表示字符串的长度,不包括结束的'\0' }; //-------------------------------------------------------------------------------------------------- 2. 定义一个类 ReString,公有继承自 BaseString,添加一个函数 Reverse()实 现字符串的倒置功能,即:将对象中的数据成员 Data 数组的元素倒置。倒置的概 念是:原字符串为“abcd1234”,倒置后为“4321dcba”。 3. 定义一个类 CopyString,公有继承自 BaseString,添加一个函数 Copy()实现 字符串的拷贝功能(传入的参数可以是一个字符串对象,也可以从一个字符串常量, 将参数中的字符串拷贝到对象的 Data 数组中去,注意:不要使用系统内置的 strcpy() 函数)。 面向对象程序设计上机指导 20 4. 定义一个类 CmpString,公有继承自 BaseString,添加一个函数 Compare() 实现字符串的比较功能(传入的参数可以是一个字符串对象,也可以从一个字符串 常量,将参数中的字符串同对象中的 Data 进行比较)。 思考字符串比较的算法。注意:不要使用系统内置的 strcmp()函数。 5. 在 main()函数中体现出派生类的构造函数的调用次序。可以在各类的构 造函数中输出“I am the * class’s constructor”。*表示当前类名。 6. 定义一个类 NewString 继承自 ReString、CopyString 和 CmpString 三个类, 在程序中体现出多重继承中的基类的继承程序。为基类 BaseString 增加功能: ToUpper()函数将所有字母大写,ToLower()函数将所有字母小写。并在继承的过程 中声明为虚基类,比较 BaseString 作为虚基类和非虚基类的情况下的区别

2023-05-26 上传