C++知识点后三章总结

C++知识总结

最近,在C++课上接触了很多新的知识,也有了很大的新收获,像运算符重载、组合与继承、虚函数与多态性。

在运算符重载这一章里,我主要学习了重载输入输出运算符,应用如下:

ostream&operator<<(ostream &os,Time&d)//输出运算符
{
   os<<d.year<<" ";
   os<<d.month<<" ";
   os<<d.day<<endl;
   return os;
}
istream&operator>>(istream &is,Time&d)//输入运算符
{
   is>>d.year>>d.month>>d.day;
   return is;
}

在应用的时候要知道在数据类定义private的情况下,要应用友元函数进行重载运算:

friend ostream&operator<<(ostream &os,Time&d);
friend istream&operator>>(istream &is,Time&d);

自增自减运算符都有前缀和后缀形式,前缀形式返回改变后的对象,后缀运算都是返回之前的值,例如:++b会调用Byte::operator++();而b++会调用Byte::operator++();的形式

运算符函数的参数和返回类型:1、若只是读参,不该参数值用const引用来传递;2、返回值的类型取决于运算符的具体含义;3、所有赋值运算符均改变左值;4、关系运算符最好返回bool。

将一个对象作为另一个类的成员,被称作组合。如果没有在初始化列表中对成员对象进行显式初始化,编译器会执行成员对象的默认构造函数;成员初始化的次序和成员声明的次序相同,并不考虑它们在初始化列表中的排列顺序。

继承是指在已有类的基础上创建新类的过程。被继承的已有类称为基类;继承得到的新类叫派生类;派生类可以再被继承,这样构成的层次结构为继承层次。

类继承关系的语法形式:class 派生类名:基类名表
{
数据成员和成员函数声明
};

但是派生类无法使用基类的私有成员。若派生类定义了与基类同名的成员,在派生类中访问同名明成员时会屏蔽基类的同名成员。
构造函数的执行顺序:先基类再对象成员最后派生类。基类的构造函数与析构函数不能被继承,如果基类无无参构造函数派生类必须定义构造函数。
继承的应用代码如下:

class Recordn
{
protected:
    vector<Record>v;
    vector<Record>::iterator itn;
public:
    Recordn(){};
};
class Shuju:public Recordn
{
...........
};

虚函数与多态性
多态性是指一个名字,多重含义;或界面相同,多重实现。重载函数是多态性的一种简单形式。

虚函数允许函数调用与函数体的联系在运行时才进行,称动态联编。用关键字virtual的成员函数称为虚函数。一个虚函数在派生类层界面相同的构造函数都保持虚特性。虚函数必须是类的成员函数,虚函数可以是另一个类的友元,析构函数可以是虚函数,但析构函数不能是虚函数。虚函数必须在基类中定义。

纯虚函数是一个在基类中说明的虚函数,在基类中没有定义,要求任何派生类都定义自己的版本,纯虚函数为各派生类提供一个公共界面。声明形式:virtual 类型 函数名 (参数表)=0。
一个具有纯虚函数的基类称为抽象类。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值