私は現在 C++ を学んでおり、単純な AddressBook アプリケーションを実装して知識を実践しています。クラスと、人の姓でエントリにアクセスするための STL マップを実装するクラス
から始めました。今、私は次のコードにたどり着きました:Entry
AddressBook
Entry AddressBook::get_by_last_name(string last_name){
if(this->addr_map.count(last_name) != 0){
//What can I do here?
} else {
return addr_map[last_name];
}
-1, Error Message
スクリプト言語では、関数が失敗したことを示すために (A List in Python) のようなものを返すだけです。アプリケーションロジックの一部であるため、例外をスローしたくありません。呼び出しクラスは、コンソールに何かを出力するか、メッセージ ボックスを開くことによって、要求に応答できる必要があります。ここで、ある種の Invalid State を Class に導入することで、C++ でScripting Language Approach
を実装することを考えました。しかし、それは C++ の悪い習慣ではないでしょうか? 私のクラス全体の設計が適切ではないのでしょうか? 助けていただければ幸いです。私はまだ C++ を学んでいることを覚えておいてください。Entry