2016-05-21 14 views
-11

C++での継承を制限する簡単なソリューションを提供してください。継承を制限する方法はありますか?

+0

また、あなたの質問はあまりにもひどいです。 「制限する」とはどういう意味ですか?私はあなたがC++での継承を既に知っていると思います。なぜ標準修飾子があなたにとってどのような方法で十分でないのか説明しませんでしたか? –

+0

Googleの「最終」キーワード。 – HolyBlackCat

答えて

0

もし本当にクラスを継承したくないのであれば、他のクラスがそれを継承しようとすると、そのメンバー変数とメンバ関数をプライベートとして作ることができます。 しかし、ファイナルを使用する方が良い方法です

+0

本当に、クラスから派生できないようにしたい場合は、何も役に立たないように記述してください。誰もそれから派生することができないだけでなく、誰もそれから派生することを望んでいない**。 –

2

はい!あなたはJavaでの経験を持っている場合は、この場合はC++でfinalキーワードが同じだった作品

class DontInheritMe final { 
     // This class cannot be inherited from. 
}; 

:C++ 11の時点で、あなたはクラスから継承することはできませんことを示すために使用することができますfinal指定子がありますJavaのfinalクラスです。

+0

ところで、派生クラスのオーバーライドを防ぐために、この指定子を仮想メソッドに配置することもできます。 – HolyBlackCat

関連する問題