Skip to content

Commit

Permalink
Merge pull request #11 from parzulpan/master
Browse files Browse the repository at this point in the history
新增: ch18后面小半部分以及ch19全部;
  • Loading branch information
applenob authored Aug 11, 2020
2 parents 563fccf + 39f0b01 commit 6818230
Show file tree
Hide file tree
Showing 2 changed files with 345 additions and 17 deletions.
17 changes: 8 additions & 9 deletions notes/ch18.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ A::C1::f3

### 重载与命名空间

`using`声明语句声明的是一个名字,而非特定的函数,也就是说包括该函数的所有版本,都被引入到当前作用域中。
`using`声明语句声明的是一个名字,而非特定的函数,也就是包括该函数的所有版本,都被引入到当前作用域中。

## 多重继承与虚继承

Expand All @@ -187,15 +187,14 @@ A::C1::f3

### 多重继承下的类作用域

* 当一个类拥有多个基类时,有可能出现派生类从两个或更多基类中继承了同名成员的情况。此时,不加前缀限定符直接使用该名字将引发二义性。

### 虚继承

* 虚继承的目的是令某个类做出声明,承诺愿意共享它的基类。其中,共享的基类子对象成为**虚基类**。在这种机制下,不论虚基类在继承体系中出现了多少次,在派生类中都只包含唯一一个共享的虚基类子对象。
* 虚派生只影响从指定了虚基类的派生类中进一步派生出的类,它不会影响派生类本身。

### 构造函数与虚继承

| | |
|-----|-----|
| | |
| | |
| | |
| | |
| | |
| | |
* h含有虚基类的对象的构造顺序与一般的顺序稍有**区别**:首先使用提供给最底层派生类构造函数的初始值初始化该对象的虚基类子部分,接下来按照直接基类在派生列表中出现的次序对其进行初始化。
* 虚基类总是先于非虚基类构造,与它们在继承体系中的次序和位置无关。
Loading

0 comments on commit 6818230

Please sign in to comment.