を意味しない何こんにちは、私はこの方法C++ {}それは
surface::surface(const surface& s) :
ref{s.ref->clone()}
{}
は{}このメソッドの後に何を意味していることがありますか?可能であれば、これらをいくつかの例で説明してください。
を意味しない何こんにちは、私はこの方法C++ {}それは
surface::surface(const surface& s) :
ref{s.ref->clone()}
{}
は{}このメソッドの後に何を意味していることがありますか?可能であれば、これらをいくつかの例で説明してください。
これは通常の方法ではありません。空のボディを持つコンストラクタです。ここでのキーは、コロン(:
)の後に起こるものです:これらはメンバ変数の構築方法を示すmem-initializersです。
それで、私はそれを継承する別の構造体になることができる2番目のコンストラクタに私たちを送りますか? – gamernoob
@gamernoob確かに。 refがメンバではなく、基本クラスであれば、基本クラスの構築方法がわかります。すべてのmem-initializerは、本体が実行される前に呼び出されます(本体があなたの例のように空でない場合)。 – Christophe
これがどのように機能するか教えてください。https://github.com/supremacey/cpp-hans/blob/master/lab/lab11/code/surface.h – gamernoob
これはメソッド構造体を配置する場所です。このメソッドで必要なものがあります。 – tilz0R
しかし、もし私が何かを置かないなら、{}それはどのようにwokrになりますか? – gamernoob
あなたのメソッドは* nothing *を行います。 'ref {s.ref-> clone()}'のためにあなたは誤解を招いています。これは、メソッドの拡張であるからです。この部分はこのメソッドの実際の構造体ではありません – tilz0R