//str1.cpp -- introducing the string class
#include <iostream>
#include <string>
//using string constructors
int main()
{
using namespace std;
string one("Lottery Winner"); //第一种构造函数
cout << one << endl; //"<<"运算符的重载用法
string two (20, '$'); //创建一个包含n个元素的对象,其中每个元素都被初始化为‘$’字符
cout << two <<endl;
string three(one); //将three对象初始化为one对象(使用复制构造函数)
cout << three << endl;
one += "Oops"; //"+="运算符的重载用法
cout << one << endl;
two = "Sorry! That was ";
three[0] = 'p'; //'[]'运算符的重载用法
string four; //默认构造函数
four = two + three;
cout << four << endl;
char alls[] = "All's well that ends well ";
string five(alls, 20); //将five对象初始化为alls所指向的字符串的前20个字符
cout << five << endl;
string six( alls + 6, alls + 10); //将six对象初始化为alls+6和alls+10之间的字符,包括alls+6但不包括alls+10
cout << six << ",";
string seven ( &five[6], &five[10]); //构造函数同上,不同的是参数形式有所变化
cout << seven << "...\n";
string eight(four, 7, 16);
cout << eight << " in motion " << endl;
cin.get();
return 0;
}
测试效果如图: