前言
Cplus plus(cpp)是一个非常强大的编程语言,一篇文章是肯定是讲不全的,这里关于cpp的基础语法我就不赘述了。
这里主要内容为——指针,引用,结构,类与对象,构造函数和析构函数,静态成员与友元,继承,虚函数和多态,运算符重载,函数模板和类模板。
我的博客也有相关题目(大多数是学校的oj题目),大家可以自行浏览。
一、指针
指针的运用非常广泛,是一个非常强有力的工具,因此指针可以和许多东西联系在一起,例如常量,数组,字符串等等。
接下来我们从几道题来看一下
指针与常量
指针与各种数组(含运算)
二、引用
其实引用就是起别名,大多数用在函数的形参中,实际用来改变实参或者返回实参。
三、结构
结构就是类的min版,掌握类自然也会掌握结构
四、类与对象
废话不多说,直接上题(最最基础的题目)
五、构造函数和析构函数
构造函数大多数主要分三个:无参构造,有参构造,拷贝构造(浅拷贝和深拷贝)
其中主要考点就是通过不同的构造函数来呈现不一样的效果
析构函数没什么好说的,主要目的:释放内容,防止内存泄漏!(但是考试可能只是用析构函数来打印输出特定效果)
六、静态成员与友元
静态成员分为静态数据成员和静态函数成员(都是类里定义,类外初始化)
静态数据成员特点所有对象都共享该数据成员,只有一份内存 并且必须要在类外进行初始化(其作用大多数是统计总和或者数额)
静态成员函数也是大相径庭
什么是友元函数?(其实本质就是要有一个函数去获取类中的数据来进行计算也不可以随便让什么函数都访问,那就会产生信息泄露!)
一个类的私有数据成员通常只能由类的函数成员来访问,而友元函数可以访问类的私有数据成员,也能访问其保护成员
尽管类定义中有友元函数原型,友元函数仍然不是成员函数
友元考试考点 1.用友元来获取数据进行计算 2.用友元函数重载操作符
七、继承
继承说明白了这就是子类运用父类数据或者函数的一项工具(因为许多子类都有着共同特征)
下面是几个要注意的点(考试中):
基类private成员无论以什么方式继承到派生类中都是不可见的。
大多数继承都是public继承,并且父类的基类类型都是protected
当然也可以继承多个父类
八、虚函数和多态
虚函数:(一般父类有虚函数就要子类大部分都要虚继承对应的虚函数也要 “虚”下去)
在类的定义中,前面有virtual关键字的成员函数就是虚函数
多态的表现形式有两种:
1.指针(派生类的指针可以赋给基类指针。)
通过基类指针调用基类和派生类中的同名虚函数时:
若该指针指向一个基类的对象,那么被调用是基类的虚函数;
若该指针指向一个派生类的对象,那么被调用的是派生类的虚函数。
2.引用(派生类的对象可以赋给基类引用)
通过基类引用调用基类和派生类中的同名虚函数时:
若该引用引用的是一个基类的对象,那么被调用是基类的虚函数;
若该引用引用的是一个派生类的对象,那么被调用的是派生类的虚函数
九、运算符重载
要注意运算符重载的书写规范(返回值类型+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)这样的
总结
这篇文章主要是以题目来带大家进行复习,希望对大家有帮助!!!
(考试顺利)