web-dev-qa-db-ja.com

インタビュー質問「仮想機能とは」

面白かったし、コミュニティのこの質問に対する反応も興味深い。それはC++/Qt開発者へのインタビューで、質問されました"仮想関数とは"。 「C++でのポリモーフィズムのしくみ」や「仮想関数のしくみ」のようなものではなく、それは何ですか。私が最初に思ったのは、「仮想関数(メソッド)は、シグネチャの前にWordが "仮想"であるメソッドである」と答えることでした。そして、あなたはその質問に対して何を求めますか?

PS:この質問には、stackexchangeのこの部分が適切であることを願っています

2
SomeName

たぶんあなたが英語を母国語としない人なら、これからいくつかの面白さを得るでしょうが、それは有効な質問です。インタビューは知識とコミュニケーションスキルの両方のテストです。コミュニケーションは、概念を説明する能力だけでなく、彼らが求めていることを理解する能力も意味します。

「仮想キーワードは何をするのか」または「仮想関数の目的は何ですか」という質問をすることもできます。彼らが探している正確な答えを知らなければ、あいまいさを最小限に抑えるために質問をどのように表現すべきかを知ることは困難です。

このような質問は、最も重要な概念を説明し、知識を実証するための非常に自由な方法(「仮想関数について教えてください」)で表現できると思います。

10
Kirk Broadhurst

完全に妥当な質問だと思います。ウィキペディアは私よりも良いと述べているので引用します。

オブジェクト指向プログラミングでは、仮想関数または仮想メソッドは、同じシグネチャを持つ関数によって継承クラス内でその動作をオーバーライドできる関数またはメソッドです。この概念は、オブジェクト指向プログラミング(OOP)のポリモーフィズム部分の非常に重要な部分です。

http://en.wikipedia.org/wiki/Virtual_function

3
Aegis