· 三个访问描述符:public, private和protected,都可以修饰类的数据成员和成员函数: public可以可以被任何访问,private只能被该类的公,私成员函数,该类的友元函数或者友元类的成员函数访问。Protected只能被该类的公,私成员函数和该类的派生类访问。
· C++中除了,和:?不能重载外,其余均可以重载,操作符重载时参数不允许有默认赋值,当重载的操作符的两个操作数是不同的数据类型时,重载函数应定义为第二个操作数类型的友元。
· 操作符重载函数作为一般函数和类的成员函数的区别:主要是对二元运算符的重载操作中,前者两个操作数需要作为参数传入函数,二后者只需要把第二个操作数作为参数传入,第一个参数即为this。
· 内联函数定义方式有两种:1: 在类的定义文件中直接包括函数的实现部分,2:在函数定义前加入关键字:inline
· C++中 的多态性有两种,编译时多态和运行时多态。前者是通过函数重载来完成的(参数个数或者类型不一样)。而后者是通过虚函数来实现的。所谓虚函数是指在基类中说明为virtual,并在派生类中重新定义的成员函数。要实现运行时多态,除了使用虚函数之外,还要有基类型作为函数参数。
· 纯虚函数:在基类中只有定义没有实现的函数,要求派生类必须有自己的实现,它有别于虚函数,因为虚函数在基类中定义时,同时也有基类版本的实现。申明格式为: virtual void fn()=0,包含纯虚函数的基类为抽象类。抽象类只能做为基类被继承,不能实例化
· 类的继承描述符:public和private。Public继承只能继承基类的所有public的数据成员和成员函数,private继承则把基类的公有部分变成了派生类的私有部分。无论何种继承关系,基类的protected数据成员和成员函数都会变成派生类的protected成员。无论哪种继承,基类的private成员都不能在子类继承。当基类中有虚函数时,子类只能为public继承
· 抽象类型和模版类型抽象类型时类的定义中数据成员的类型使用抽象类型,当应用程序具体包含该类头文件前对该抽象类型进行具体定义,而模版类型是在普通的类型定义之前加template <class eleType>
Eg:class Tempture{
private:
eleType highTemp;
}
使用时首先
Typedef float eleType
# include ‘Tempture.h’
Template <class eleType>
Class Tempture{
private:
eleType highTemp;
}
使用时:
Tempture<float> tempture;