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

需积分: 0 0 下载量 172 浏览量 更新于2024-07-14 收藏 8.72MB PPT 举报
"C++程序设计相关知识" 在C++编程中,字符串常量是一个重要的概念。字符串常量是用双引号 " " 括起来的字符序列,它们在内存中顺序存放,并以空字符 '\0' 作为结束标志。例如,字符串常量 "CHINA" 在内存中的实际存储形式是:0x43(C的ASCII码)、0x48(H的ASCII码)、0x49(I的ASCII码)、0x55(N的ASCII码)、0x41(A的ASCII码)以及0x00(空字符)。值得注意的是,虽然字符 'a' 占用一个字节,但当它被包含在字符串常量 "a" 中时,由于空字符的存在,整个字符串常量会占用两个字节。 C++的发展历史与C语言密切相关。C++是由Bjarne Stroustrup在C语言的基础上于1983年发展起来的,目的是为了增加面向对象的特性。C++不仅保留了C语言的大部分特点,如简洁性、灵活性和高效性,还引入了类、对象、模板、异常处理、命名空间等面向对象编程的关键概念。C++的设计使得它既能用于大型系统软件的开发,也能应用于小型控制程序的编写,同时在科学计算中也十分有用。 C语言的主要特点包括: 1. 结构化编程:C语言是一种结构化语言,它的语法结构清晰,有利于编写模块化的代码,便于理解和维护。 2. 高级与低级语言特征的结合:C语言拥有丰富的运算符,包括算术、逻辑和位运算符,这使得它能够处理底层的硬件操作,同时具有高级语言的抽象能力。 3. 可移植性:C语言编写的程序可以在不同类型的计算机上轻松移植,只需少量或无需修改。 4. 灵活的语法:C语言的语法结构相对较松,给程序员提供了较大的设计自由度,但这也意味着对于初学者来说,掌握C语言可能更具挑战性,调试程序也相对困难。 在学习C++的过程中,理解字符串常量的内存表示以及C++语言的基本特性是非常基础且关键的步骤。掌握这些知识将有助于编写出更高效、可读性强且易于移植的代码。同时,熟悉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 上传