系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:本章练习第2题
涉及标准函数及关键词
toupper,tolower(), strcpy_s(),strcat_s(),strcmp,strlen(),new[],delete[].
实现如下效果
输出应与下面相似:
Please enter yourname:Fretta Farbo
My name is Fretta Farbo.
The string
MY NAME IS FRETTA FARBO ANDIAMA++ STUDENT.
contains 6’'characters in it.
Enter the name of a primary color for mixing light: yellowTry again!
BLUE
That’s right!
Bye
原文链接:https://blog.youkuaiyun.com/zhyjhacker/article/details/139555079
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着学习的升入,练习是必不可少的重要环节
提示:以下是本篇文章正文内容,下面案例可供参考
一、2.通过完成下面的工作来改进 String类
声明(即将 Stringl.h升级为 String2.h)。
a.对+运算符进行重载
使之可将两个字符串合并成1个。
b.提供一个 Stinglow()成员函数
将字符串中所有的字母字 符转换为小写(别忘了cctype 系列字符函数)。
c.提供 String()成员函数
将字符串中所有字母字符转换成大写。
d.提供一个这样的成员函数
它接受一个 char参数,返回该字符在字符串中出现的次数。使用下面的程序来测试您的工作:
二、头文件的定义
1.头文件
代码如下(示例):
#ifndef PE12_2_H_
#define PE12_2_H_
namespace NString
{
class String
{
public:
static const unsigned buffMaxSize = 256;
String(const char* text = " ");
String(const String& str);
~String();
unsigned getLength(void)const;
const char* toCstr(void)const;
void stringUp(void);//to up
void stringlow(void);//to low
unsigned has(char ch)const;
String& operator=(const String& str);
String& operator+=(const String& str);
friend std::istream& operator>>(std::istream& is, String& str);
char& operator[](unsigned index);
const char& operator[](unsigned index)const;
private:
unsigned textLength;
char* pText;
void assignMember(const char* text);
};
std::ostream& operator<<(std::ostream& os, const String& str);
bool operator<(const String& lvalue, const String& rvalue);
bool operator>(const String& lvalue, const String& rvalue