C++临时笔记

来源:互联网 发布:java求数组的平均值 编辑:程序博客网 时间:2024/06/11 20:58

类的基础:数据抽象 和 封装。

数据抽象:定义数据和函数成员的能力。

封装:从常规访问中保护类成员的能力。

成员函数定义类的接口,通过将类的实现所用到的数据和函数设置为private来封装类。

类可以设置mutable成员。mutable成员永远都不能为const;它的值可以再const成员函数中修改。


关于多态:多态与非多态的实质区别就是函数地址是早绑定还是晚绑定。封装可以使得代码模块化,继承可以扩展已存在的代码,他们的目的都是为了代码重用。而多态的目的则是为了接口重用。无论传递过来的是哪个类的对象,函数都能够通过同一个接口调用到适应各自对象的实现方法。

最常用的方法是声明基类指针,利用该指针指向任意一个子类对象,调用相应的虚函数,可以根据指向的子类的不同而实现不同的方法。如果没有使用虚函数的话,即没有利用C++多态性,啫喱用基类指针调用相应的函数的时候,将被限制在基类函数本身,而无法调用到子类中被重新写过的函数。因为没有多态性,函数调用的地址将是一定的,而固定的地址将始终调用到同一个函数,这就无法实现一个接口,多种方法的目的了。

原创粉丝点击