类和对象的概念:
一个类是用来抽象一批对象的,类是一个抽象的概念,描述事物的共性(属性和数据)。
在面向对象编程中,类的具体实例就叫做对象。
class 类名
{
private:
私有的数据和成员函数(外界不可访问私有成员)
protected:
保护的数据和成员函数(对外界不可见,但是对子类是可见的)
public:
公有的数据和成员函数(外界可以随意访问公有成员)
}
构造函数和析构函数:
构造函数用于创造一个对象,析构函数则用于销毁一个对象,c++规定每个类都必须有构造函数和析构函数。(未定义构造函数、析构函数按默认的)。
析构函数和构造函数必须遵守的一些规则:构造函数和析构函数均没有返回值。一个类的构造函数可以有多个,且参数是任意的,但析构函数只能有一个,且不能带有参数的。(构造函数一般是用户成员变量的初始化)
类的继承:
C++的继承就是子类获取父类的属性和方法。在定义一个新类时,可以为其指定一个类,让新类获得
指定类的所有属性和方法。子类继承了父类的全部属性和方法,但是子类并不能访问父类
private访问权限的成员,而protected和public访问权限的成员则能够被访问。
c++允许多重继承,一个类由多个父类继承。继承关系如下:
class 子类名: [访问限定符(protected private public)]
虚函数:
C++的虚函数体现了类 的多态性。多态性是指不同的对象对于外界传入的相同的消息能根据自身的性质做出不同的反应。帮助理解例子:假设动物能听懂人类说话,当人类对动物说“移动”的时候,不同的动物会采取不同的跑的方式,比如老虎会快速的奔跑,袋鼠则是飞快地跳着前进,乌龟可能慢慢的爬行。
C++采用晚绑定的方法实现类的多态。晚绑定与早绑定对应。早绑定就是在编译的时候就给函数分配绝对地址,而晚绑定是在发送消息的时候才确定被调用的类型。使用virtual关键字标识符某个函数具有晚绑定。