1.c++支持多继承


多继承下派生类的定义格式如下:
class <派生类名>:<继承方式1><基类名1>,<继承方式2><基类名2>,…
{
<派生类类体>
};
其中,<继承方式1>,<继承方式2>,…是三种继承方式:public、private、protected之一。
c++默认访问权限为private,权限表如下:
2.java不支持多继承,默认访问权限为default,没有公有、私有、保护继承,默认是公有继承
3.new/delete
struct Student
{
};
Student *p; p=new Student; delete p;
4.定义类(结构体是没有成员函数的类)
class 类名
{
private:
语句1;//不能初始化数据成员,可以构造函数里初始化 定义构造函数 类名::类名()
public:
语句2;
}
定义成员函数,可以在类内,也可以类外,void 类名::函数名
注:只有在类外定义的成员函数规模较小而调用频率较高时,才将此成员函数指定为内置函数函数 inline 类名::函数名
5.定义对象
类名 对象名 不同于Java 类名 对象名 = new 类名();
6.构造函数和析构函数
当对象的生命期结束时,会自动执行析构函数。先构造的后析构。
7.指向对象成员函数的指针与c语言中指向函数的指针不同
void (类名::*p2)();
p2=&类名::get_Time;
8.虚函数
静态多态性:函数重载
动态多态性:虚函数
类内加虚函数,其子类都可以重写父类定义的虚函数,赋予新功能 父类 父对象 = 子对象(类似java上转型)
纯虚函数是在什么虚函数时被初始化为0的函数1.无函数体 2.=0形式上作用 3.声明语句 virtual void fun() =0;
凡是包含纯虚函数的类都是抽象类。