C++ 期末复习冲刺(题目加题解版)


前言

Cplus plus(cpp)是一个非常强大的编程语言,一篇文章是肯定是讲不全的,这里关于cpp的基础语法我就不赘述了。

这里主要内容为——指针,引用,结构,类与对象,构造函数和析构函数,静态成员与友元,继承,虚函数和多态,运算符重载,函数模板和类模板。

我的博客也有相关题目(大多数是学校的oj题目),大家可以自行浏览。


一、指针

指针的运用非常广泛,是一个非常强有力的工具,因此指针可以和许多东西联系在一起,例如常量,数组,字符串等等。
接下来我们从几道题来看一下

指针与常量

三数论大小

货币兑换

指针与各种数组(含运算)

月份查询(指针数组

动态数组(指针与数组)

字符串比较(指针与字符)

字符串比较(指针与字符)


二、引用

其实引用就是起别名,大多数用在函数的形参中,实际用来改变实参或者返回实参。

三数论大小(引用)

求最大值最小值(引用)


三、结构

结构就是类的min版,掌握类自然也会掌握结构

小票输入输出(结构体)


四、类与对象

废话不多说,直接上题(最最基础的题目)

机器人变身(类与对象)


五、构造函数和析构函数

构造函数大多数主要分三个:无参构造,有参构造,拷贝构造(浅拷贝和深拷贝)
其中主要考点就是通过不同的构造函数来呈现不一样的效果

对象是怎样构造的(拷贝构造函数)

银行账户(拷贝构造)

析构函数没什么好说的,主要目的:释放内容,防止内存泄漏!(但是考试可能只是用析构函数来打印输出特定效果)

虚拟电话(构造与析构)


六、静态成员与友元

静态成员分为静态数据成员和静态函数成员(都是类里定义,类外初始化)

静态数据成员特点所有对象都共享该数据成员,只有一份内存 并且必须要在类外进行初始化(其作用大多数是统计总和或者数额)

向量3(静态成员)

静态成员函数也是大相径庭

银行账户(静态成员与友元函数)

什么是友元函数?(其实本质就是要有一个函数去获取类中的数据来进行计算也不可以随便让什么函数都访问,那就会产生信息泄露!)

一个类的私有数据成员通常只能由类的函数成员来访问,而友元函数可以访问类的私有数据成员,也能访问其保护成员

尽管类定义中有友元函数原型,友元函数仍然不是成员函数

友元考试考点 1.用友元来获取数据进行计算 2.用友元函数重载操作符

距离计算(友元函数)

复数运算(友元函数)


七、继承

继承说明白了这就是子类运用父类数据或者函数的一项工具(因为许多子类都有着共同特征)

下面是几个要注意的点(考试中):

基类private成员无论以什么方式继承到派生类中都是不可见的。

大多数继承都是public继承,并且父类的基类类型都是protected

当然也可以继承多个父类

圆和圆柱体计算(继承)

拯救小明(多继承+友元)

交通工具(多重继承)

在职研究生(多重继承)


八、虚函数和多态

虚函数:(一般父类有虚函数就要子类大部分都要虚继承对应的虚函数也要 “虚”下去
在类的定义中,前面有virtual关键字的成员函数就是虚函数

多态的表现形式有两种:

1.指针(派生类的指针可以赋给基类指针。)

通过基类指针调用基类和派生类中的同名虚函数时:
若该指针指向一个基类的对象,那么被调用是基类的虚函数;
若该指针指向一个派生类的对象,那么被调用的是派生类的虚函数。

2.引用(派生类的对象可以赋给基类引用)

通过基类引用调用基类和派生类中的同名虚函数时:
若该引用引用的是一个基类的对象,那么被调用是基类的虚函数;
若该引用引用的是一个派生类的对象,那么被调用的是派生类的虚函数

宠物的生长(虚函数和多态)

OOP 学生综合评价(虚函数和多态)

动物园(虚函数与多态)

图形面积(虚函数与多态)

加湿风扇(期末模拟)(虚继承)


九、运算符重载

要注意运算符重载的书写规范(返回值类型+operator+运算符符号
这里要注意几个点:
(T为类名字)
1.前置和后置的写法(经常考)

//前置(先运算再使用)
T &operator ++()
{
	num++;
	return *this;
}
//后置(先使用再运算)
T &operator ++(int)
{
	T temp=*this;
	num++;
	return temp;
}

2.关于输入和输出的运算符重载
通常使用friend 使用友元函数

//书写规范
//输出
 friend ostream & operator<<( ostream & cout,const T & temp)
 {
 	....
 	return cout;//记得最后return 输出
 }
 //输入
 friend istream & operator>>( istream & icn,T & temp)
 {
 	...
 	return cin;//!!!!!
 }
 

最贵的书(重载+友元+引用)

金属加工(期末模拟)(运算符重载)

货币加减(运算符重载)

矩阵相乘(运算符重载)


十、函数模板和类模板

要注意模板书写规范 (template < typename T > +模板(其中数据类型用T表示))
!!!
在设置类时候也可以直接表示数据类型(Point< int >a,Point < double >b)这样的

元素查找(函数模板)

简单类模板(类模板)

矩阵类模板(类模板)

加密模板(期末模拟)(类模板 函数模板) (模板)


总结

这篇文章主要是以题目来带大家进行复习,希望对大家有帮助!!!
(考试顺利)

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z1Jxxx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值