c++初学之继承

来源:互联网 发布:越南新娘 知乎 编辑:程序博客网 时间:2024/06/09 19:16

今天看了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{}

今天就看了这么多,明天继续。

0 0