加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

《C++面向对象程序设计》课程笔记 lessen7

发布时间:2020-12-15 04:49:18 所属栏目:百科 来源:网络整理
导读:1. string 类 1 string 对象的初始化 string 类是模板类: typedef basic_string string;? ?使用 string 类要包含头文件 string 对象的初始化: string s1("MARCH"); string s2 = "APRIL"; string s3(8,'x'); ?错误的初始化方法:(不能通过一个字符和一个整

1. string 类

1 string 对象的初始化

string 类是模板类:

typedef basic_string string;?

?使用 string 类要包含头文件

string 对象的初始化:

string s1("MARCH");

string s2 = "APRIL";

string s3(8,'x');

?错误的初始化方法:(不能通过一个字符和一个整数来初始化 sstring)

string error1 = 'c';

string error2('u');

string error3 = 22;

string error4(8);

?可以将字符赋值给 string 对象。但不能用字符初始化?string 对象。

string s;

s = 'n';

string 对象的长度用成员函数 length() 读取?

string s("hello");

cout << s.length() << endl;

?string 支持流读取运算符

string stringObject;

cin >> stringObject;

?string 支持 getline 函数

string s;

getline(cin,s);

?2 string 对象的赋值和连接

用 “=” 赋值?

string s1("cat");

string s2;

s2 = s1;

?用 assign 成员函数复制

string s1("cat");

string s3;

s3.assign(s1);

?用 assign 成员函数部分复制

string s1("catpig");

string s3;

s3.assign(s1,1,3);

//从 s1 中下标为1的字符开始复制3个字符

单个字符复制?

s2[5] = s1[3] = 'a';

逐个访问 string 对象中的字符

string s1("Hello");

for(int i=0;i

cout << s1.at(i) << endl;

?成员函数 at 会做范围检查,如果超出范围,会抛出 out_of_range 异常,而下标运算符 [ ] 不做范围检查。

用 “+” 运算符连接字符串?

string s1("good");

string s2("morning!");

s1 += s2;

cout << s1;

?用成员函数 append 连接字符串

string s1("good");

string s2("morning!");

s1.append(s2);

cout << s1;

s2.append(s1,3,s1.size()); //s1.stze(),s1字符数

//下标为3开始,s1,size()个字符,如果字符串内没有足够字符,则复制到字符串最后一个字符

cout << s2;

?3 比较 string 对象

用关系运算符比较 string 大小:==,>,>=,<,<=,!= 。返回值都是 bool 类型,成立返回 true,否则返回 false。

用compare 成员函数比较 string 对象的大小。

string s1("hello"),s2("hello"),s3("hell");

int f1 = s1.compare(s2);

int f2 = s1.compare(s3);

int f3 = s3.compare(s1);

int f4 = s1.compare(1,2,s3,3);//s1:1-2; s3:0-3

int f5 = s1.compare(0,s1.size(),s3); //s1:0-end

cout << f1 << endl << f2 << endl << f3 << endl << f4 << endl << f5 << endl;

//输出:0 // hello == hello

// 1 // hello > hell

// -1 // hell < hello

// -1 // el < hell

// 1 // hello > hell

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读