今天看了c++,做个笔记
1.c++的继承
终于到了激动的继承了
单一继承:只有一个父类的叫做单一继承。
多重继承:拥有多个父类的叫做多重继承。
语法:
关键字 class 类名:父类类型 父类名1,父类类型 父类名2{
}举例如下:
class Father{
public:
int name;
}
class Son:public Father{}
2.public 继承(公有派生)
父类的public ,private ,protected在子类中不变
3.private 继承(私有派生)
父类的public,procted成员在子类中是private的,而父类的private在子类中是不可以访问的。
4.procted继承(procted派生)
父类的public变成protected。其他不变
5.父类和子类的赋值
子类可以赋值给父类。但是父类却不可以直接赋值给子类。
6.构造函数和析构函数的调用顺序
构造函数的调用顺序:先调用父类的构造函数,然后再调用子类的构造函数
析构函数的调用顺序:先调用子类的析构函数,再调用父类的析构函数
7.子类调用父类的构造函数
class father{
public:
father(int x,int y){this->x = x;this->y = y;}
private:
int x,y;
}
class son:public father{
public :
son(int x,int y,int c):father(x,y){
this->c = c;
}
private :
int c;
}
8.多重继承中的二义性
D的父类为B,C,而B C的父类为A。所以D类可能有两份A类的副本,为了在调用A类中的函数不引起二义性,可以使用virtual关键字。举例如下:
class A{
public:
void haha(){cout << "haha" << endl;}
}
class B:virtual public A{}
class C:virtual public A{}
class D:public B,public C{}
今天就看了这么多,明天继续。