私は十二分に見てきましたが、::
演算子に関するこれに関するリソースは見つかりませんでした。C++の継承 - "::" s、.hファイル、.cppファイルの使用を含む関数のオーバーライド
私は2つのクラス:A
とB
を持っています。私も別のクラスを持っていますC
。
B
は、A
のように、C
から継承します。
A
d
と呼ばれる方法が含まれています
A
の.h
ファイル:
class A
{
public:
...
void d();
};
A
の.cpp
ファイル:
...
void A::d()
{
...
}
私はB
またはC
を持っている場合は、私はそれらを実行するd
の場合、B
またはC
に独自のオーバーライドd
がない場合、このメソッドを実行する必要があります。
d
をB
に上書きしたいのですが、これはどうやって行うのかはわかりません。私は、この内部B
の.cpp
ファイル?:
void A::d()
{
...
}
または
void B::d()
{
...
}
をしてB
でそれを宣言する "やってsの.h
ファイルされるべきか?
また、機能がvirtual
である必要がありますか?
それは良い[C++の本](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)の時間だそうです。 –
関数を仮想化します。 Aが抽象的であれば、それをプライベート仮想にする。サブクラスでoverrideキーワードを使用して関数をオーバーライドします。 C++では、関数は仮想でなければならず、Javaのような自動呼び出しはありません。 –
@ 4386427:これは「スコープ解決演算子」です。 –