Skip to content

Commit 9ad1533

Browse files
committed
mod: 継承コンストラクタについて訳語を修正 {"基本クラス"=>"基底クラス"}
1 parent 1ed1654 commit 9ad1533

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

Diff for: implementation-status.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
| [明示的な型変換演算子のオーバーロード](/lang/cpp11/explicit_conversion_operator.md) | 明示的な型変換が行われる場合にのみ呼び出される演算子をオーバーロードできるようにする | 4.5 | 3.0 | 14.0 | 2013 |
2424
| [`friend`宣言できる対象を拡張](/lang/cpp11/extend_friend_targets.md) | テンプレートパラメータや型の別名を`friend`宣言 | 4.7 | 2.9 | 11.1 (partial) <br/> 12.0 | 2010 |
2525
| [`extern template`](/lang/cpp11/extern_template.md) | テンプレートのインスタンス化抑止 | 3.3 | 2.9 | 11.1 | 6.0 |
26-
| [継承コンストラクタ](/lang/cpp11/inheriting_constructors.md) | 基本クラスのコンストラクタを継承する | 4.8 | 3.3 | 15.0 | 2015 |
26+
| [継承コンストラクタ](/lang/cpp11/inheriting_constructors.md) | 基底クラスのコンストラクタを継承する | 4.8 | 3.3 | 15.0 | 2015 |
2727
| [ラムダ式](/lang/cpp11/lambda_expressions.md) | 関数オブジェクトをその場に書く | 4.5 | 3.1 | 12.0 | 2010 (partial)<br/> 2012 |
2828
| [ローカル型と無名型を、テンプレート引数として使用することを許可](/lang/cpp11/local_and_unnamed_type_as_template_arguments.md) | ローカルおよび無名として定義したクラスや列挙型を、テンプレート引数として渡せるようにする | 4.5 | 2.9 | 12.0 | 2010 |
2929
| [`long long`](/lang/cpp11/long_long_type.md) | 64ビット以上の大きさを持つ整数型 | 4.3 | 2.9 | 11.1 | 2003 |

Diff for: lang/cpp11/inheriting_constructors.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
* cpp11[meta cpp]
33

44
## 概要
5-
「継承コンストラクタ (inheriting constructors)」は、基本クラスで定義したコンストラクタ群を、派生クラスでそのまま使用できるようにするための糖衣構文である。
5+
「継承コンストラクタ (inheriting constructors)」は、基底クラスで定義したコンストラクタ群を、派生クラスでそのまま使用できるようにするための糖衣構文である。
66

7-
継承コンストラクタは、`using`キーワードに続いて、基本クラス名とそのコンストラクタ名を`::`区切りで記述する:
7+
継承コンストラクタは、`using`キーワードに続いて、基底クラス名とそのコンストラクタ名を`::`区切りで記述する:
88

99
```cpp example
1010
#include <string>
@@ -34,7 +34,7 @@ int main()
3434
}
3535
```
3636
37-
継承コンストラクタは、指定した基本クラスのコンストラクタ全てを暗黙に宣言するが、一部のコンストラクタを明示的に宣言することを許可している:
37+
継承コンストラクタは、指定した基底クラスのコンストラクタ全てを暗黙に宣言するが、一部のコンストラクタを明示的に宣言することを許可している:
3838
3939
```cpp
4040
struct Derived : Base1, Base2 {
@@ -51,8 +51,8 @@ struct Derived : Base1, Base2 {
5151

5252

5353
## 仕様
54-
- using宣言で基本クラスのコンストラクタを指定することで、基本クラスのコンストラクタ群を暗黙に宣言できる
55-
- 基本クラスの、ひとつ以上のデフォルト引数を持つコンストラクタは、省略記号 `...` があるバージョンとないバージョンの両方を派生クラスのコンストラクタ候補として宣言し、デフォルト引数を後ろから順番になくしたそれぞれのバージョンを派生クラスのコンストラクタ候補として宣言する
54+
- using宣言で基底クラスのコンストラクタを指定することで、基底クラスのコンストラクタ群を暗黙に宣言できる
55+
- 基底クラスの、ひとつ以上のデフォルト引数を持つコンストラクタは、省略記号 `...` があるバージョンとないバージョンの両方を派生クラスのコンストラクタ候補として宣言し、デフォルト引数を後ろから順番になくしたそれぞれのバージョンを派生クラスのコンストラクタ候補として宣言する
5656

5757
```cpp
5858
struct Base {
@@ -66,22 +66,22 @@ struct Derived : Base {
6666
};
6767
```
6868
69-
- 基本クラスから引き継いだ各コンストラクタ候補は、テンプレートパラメータリスト、パラメータの型リスト、`explicit`、`constexpr`、例外仕様もまた引き継ぐ
70-
- 基本クラスで`delete`宣言されたコンストラクタは、派生クラスでもまた`delete`宣言される
69+
- 基底クラスから引き継いだ各コンストラクタ候補は、テンプレートパラメータリスト、パラメータの型リスト、`explicit`、`constexpr`、例外仕様もまた引き継ぐ
70+
- 基底クラスで`delete`宣言されたコンストラクタは、派生クラスでもまた`delete`宣言される
7171
7272
7373
## この機能が必要になった背景・経緯
74-
多くの場合、派生クラスのコンストラクタは、基本クラスと同じものを持つ。そのため、派生クラスから基本クラスのコンストラクタに引数を転送するようお決まりのコードを書く必要があり、これはうんざりするような作業だった。そのために、基本クラスから全てのコンストラクタを引き継ぐコードを簡単に書ける機能が必要とされ、継承コンストラクタが導入されることとなった。
74+
多くの場合、派生クラスのコンストラクタは、基底クラスと同じものを持つ。そのため、派生クラスから基底クラスのコンストラクタに引数を転送するようお決まりのコードを書く必要があり、これはうんざりするような作業だった。そのために、基底クラスから全てのコンストラクタを引き継ぐコードを簡単に書ける機能が必要とされ、継承コンストラクタが導入されることとなった。
7575
7676
7777
## 検討されたほかの選択肢
7878
継承コンストラクタの構文は、段階的にいくつかのバリエーションが考案された:
7979
8080
1. `using derived = base;` という構文で、`base`クラスのコンストラクタを`derived`クラスで使用できるようにする
8181
2. `using default base;` という構文で、`base`クラスのコンストラクタを派生クラスからデフォルトで参照できるようにする
82-
3. `base_constructors`キーワードを追加し、`using base_constructors;` という構文で、基本クラスのコンストラクタを派生クラスから使用できるようにする
82+
3. `base_constructors`キーワードを追加し、`using base_constructors;` という構文で、基底クラスのコンストラクタを派生クラスから使用できるようにする
8383
84-
最終的に、新しい構文やキーワードを導入することをやめ、既存のusing宣言構文に、各基本クラスのコンストラクタを指定することとなった
84+
最終的に、新しい構文やキーワードを導入することをやめ、既存のusing宣言構文に、各基底クラスのコンストラクタを指定することとなった
8585
8686
8787
## 参照

0 commit comments

Comments
 (0)