📄 string.cpp
字号:
//这个程序在本书所带软盘中,文件名为STRING.CPP
//这个程序演示相加运算符重载、逻辑运算符重载以及输出重载在程序中的应用。
#include <iostream.h>
#include <string.h>
enum boolean {false, true};
class String {
friend ostream& operator << (ostream& out, String obj);
//输出重载
public :
String( char* str )
{
strcpy(String::str, str);
}
String operator + (String obj) //相加运算符重载进行字符串连接
{
String temp("\0");
strcpy(temp.str, str); //复制调用这个子程序的成员字符串
return strcat(temp.str, obj.str);
} //连接两个字符串并返回结果
boolean operator != (String obj) //逻辑运算符!=重载
{
if (strcmp(str, obj.str))
return true;
else
return false;
}
private:
char str[80];
};
ostream& operator << (ostream& out, String obj )
{
out << obj.str << endl;
return out;
}
void main(void)
{
String string1("operator "), string2("overloading"), string3("\0");
if (string1 != string2)
{
cout << "两个对象的成员字符串不相等。" << endl;
cout << "string1 = " << string1 << "string2 = " << string2 << endl;
}
else {
cout << "两个对象的成员字符串相等。" << endl;
cout << "string1 = string2 = " << string1 << endl;
}
string3 = string1 + string2;
string1 = string1 + string2;
cout << "连接后的 string1 = " << string1;
cout << "连接后的 string3 = " << string3;
}
/*这个程序运行后将输出下列结果:
两个对象的成员字符串不相等。
string1 = operator
string2 = overloading
连接后的 string1 = operator overloading
连接后的 string3 = operator overloading
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -