1.构造函数和基本赋值
#define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <string> /* 构造函数 string();//创建一个空的字符串 例如: string str; string(const string& str);//使用一个string对象初始化另一个string对象 string(const char* s);//使用字符串s初始化 string(int n, char c);//使用n个字符c初始化 基本赋值操作 string& operator=(const char* s);//char*类型字符串 赋值给当前的字符串 string& operator=(const string &s);//把字符串s赋给当前的字符串 string& operator=(char c);//字符赋值给当前的字符串 string& assign(const char *s);//把字符串s赋给当前的字符串 string& assign(const char *s, int n);//把字符串s的前n个字符赋给当前的字符串 string& assign(const string &s);//把字符串s赋给当前字符串 string& assign(int n, char c);//用n个字符c赋给当前字符串 string& assign(const string &s, int start, int n);//将s从start开始n个字符赋值给字符串 */ void test01() { string str; //默认构造 string str2(str); //拷贝构造 string str3 = str; //拷贝构造 string str4 = "abcd"; //使用字符串s初始化 string str5(10, 'a'); //使用n个字符c初始化 cout << str4 << endl; cout << str5 << endl; //基本赋值 str = "hello"; //string& operator=(const char* s) str2 = str4; //string& operator=(const string &s) str3.assign("hello", 4); //string& assign(const char *s, int n); cout << str3 << endl; string str6; str6.assign(str, 1, 3); //string& assign(const string &s, int start, int n); 从0索引 cout << str6 << endl; } int main() { test01(); system("Pause"); return 0; }
结果: