今天学了c++中的一些知识,现在整理一下一些注意点。
1、友元 friend
在类外定义,不属于当前类的函数,可以在当前类中声明,前面加friend构成友元函数
友元函数不能直接访问类的成员,只能通过对象访问
友元的关系是单向的,不是双向的。
友元类:友元关系不能传递。
2、string类
a、包含头文件<string>
string s1; 定义的时候没有初始化,默认空
string s2 = “c plus”; 定义并初始化 没有‘\0’
string s3 = s2; 定义s3 并把s2赋给s3
string s4 (4,‘s’) 初始化为3个s
string输入时 cin遇到空格默认结束
string成员可以用下标访问 从0开始
b、string中字符串可以使用+ += 进行字符串的拼接
c、string插入操作 insert
string& insert(size_t pos, const string& str) s1.insert(5,s3)
d、string删除操作 erase
string& eraser(size_t pos = 0, size_t length)
s2:erase(5);把s2第5个元素后全部内容删除
s3:erase(5,3)s3第5元素后3个删除
e、string提取操作 substr
string substr(size_t pos = 0, size_t len = npos) const
s2 = s1.substr(3,10)从第三个开始后提取后的10个
f、string查找find 查找出现的位置
size_t find(const string& str, size_t pos)
3、继承
一个类从另一个类获取成员变量和成员函数的过程
被继承的类被称为父类或基类,继承的类称为子类或派生类
class 子类名 :【继承方式】基类名{派生类成员}
方式:public、private、protect 默认private
public可以通过对象访问,private只能通过内部函数访问
public继承: 父类所有public------------------>子类public属性
父类所有protected------------->子类protected属性
父类所有private----------------->不能使用
protect继承:父类所有public------------------>子类protected属性
父类所有protected-------------->子类protected属性
父类所有private------------------>不能使用
private继承:父类所有public------------------->子类private属性
父类所有protected--------------->子类private属性
父类所有private------------------->不能使用
在子类中访问父类private成员的唯一方法就是借助基类的成员函数
改变访问权限 using
使用using可以改变基类成员在子类中的访问权限