- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c期末总结
C++ 期末总结
第四章
1.封装:就是抽象得到的数据和行为。
2.多态:是指一段程序能够处理多太处理类型对象的能里。
3.类成员的构造顺序:
1》传参。
2》根据成员变量顺序依次构造成员。
3》执行构造函数的函数体。
4.面向对象的特点:封装,继承,多态。
5.构造函数的作用:在对象呗创建时利用特定的值构造对象,将对象初始化为以个特定的状态。
6.什么情况下用复制构造函数:
1》用类对象初始化该类的另一个对象;
2》函数的形参是类的对象,调用函数时,进行形参和实参的结合;
3》函数的返回值是类对象,函数执行完返回调用者时。
析构函数,执行顺序与构造函数相反。
第五章
静态生存期:如果对象的生存期与运行期相同,称它具有静态生存期。
静态局部变量是在第一次调用变量时产生空间。定义时候未指定初始值的系统会被赋予零,而动态则不确定的值。
静态成员函数可以直接访问该静态数据和函数成员,而非静态成员,必须通过对象名。
长对象必须进行初始化,它的值在整个生存期内不能改变。
友元函数
声明:friend 返回值类型 函数名(参数列表);
友元函数可以是普通的函数也可以是别的类的成员函数(一般编译器不支持)
友元函数不属于类,但可以访问类的所有数据成员
缺点:破坏了类的封装性
友元类
若A类是B类的友元类,则A的所有成员函数是B的友元函数,可以访问访问B
的私有和保护成员。
6.用const修饰的类成员
常成员函数
声明:类型说明符 函数名(参数表)const;
Const是函数的一部分,故可以区分重载
常成员函数运行期间,目的对象被视为常对象(即不能修改目的对象的数据成员)
常数据成员
常数据成员只能通过初始化列表来获得初值
常引用
声明:const 类型说明符 引用名;
含义:常引用所引用的对象不能被更新
常引用可以绑定常对象和普通对象, 而非常引用不能绑定常对象
参数使用引用,可以提高效率,不必调用复制构造函数。
第六章
1.New/delect 和malloc/free的区别
前者是运算符而后者是函数
前者返回的是new对象的指针,而后者不智能,返回的地址均为void*需要使用时必须
转换,
前者创建和释放对象时会调用构造函数和析构函数,而后者不会调用构造函数和析构函
数
当用new创建对象数组时,必须调用无参的构造函数,这就要求类必须含有无参的构
第七章
类的继承,是新的类从已有的类那里得到已有的特性。
原有的类称为基类或父类。
如果派生类声明了一个和基类同名的新成员,派生的新成员就隐藏了外层同名成员,这时在派生类中或者派生类的对象,直接使用成员名就只能访问到派生类中声明的同名成员,这叫同名隐藏。
类的兼容性规则
1》派生类的对象可以隐含转换为基类的对象。
2》派生类的对象可以初始化基类的引用。
3》派生类的指针可以隐含转换为基类的指针。
带有基类的构造函数
1》传参;
2》如有基类,构造基类构造函数;
3》安成员声明的顺序构造成员函数;
4》执行析构函数。
虚基类:将共同基类设为虚基类,可以从不同路径继承过来的同名数据成员在内存中只有一个副本,同一个函数也只有一个映射。
第八章
运算符重载
返回类型 operator 运算符 (形参表)
{
函数体
}
前++返回的是值,后++返回的是引用。
虚函数声明只能出现在类的定义中的原函数型声明中,而不能再成员函数实现的时候出现。
不能声明为虚函数的:构造函数,友元函数,静态成员函数 ,内联函数,常函数。
第九章
函数模板的定义形式:
Temple模板参数列表
类型名 函数名(参数表)
{
函数体的定义
}
类模板的语法形式:
Temple模板参数表
Class 类名
{
类的成员声明
}
如果在类模板以外定义其成员函数:
Temple模板参数表
类型名 类名模板参数表示符列表::函数名(参数表)
第十章
容器类库的7中基本容器:
向量(voctor),双端队列(deque),列表(list),集合(ste),多重集合(multiset),映射(map),多重映射(multimap)。
ostream iteratorint(cout,)输出一个迭代器,ostream iterator 是输出一个类模版.
输入流迭代器:
Templeclass Tistream_iteratorT;
需要构造函数
Istream_iterator (istream in);
4输出流迭代器
Templeclass Tostream_iteratorT;
可以用以
文档评论(0)