- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:頻度のプログラムについて)
C++プログラムで単語の頻度を出力する方法
このQ&Aのポイント
- C++言語を使用して、入力した文字列から単語とその頻度を出力するプログラムを作成しています。
- プログラムの中身は、mapを使用して単語をキー、その頻度を値とするデータ構造を定義しています。
- プログラムのメイン部分では、入力された単語をmapに格納し、同じ単語が出現するたびに頻度をインクリメントしています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
結構C++の基本的なところの質問だと思いますが。 structで書いてありますけどこれはクラス定義です。 struct Count{ // Countクラスを定義する。 int N; //メンバ変数N Count() : // コンストラクタを定義、呼び出されたときにNの値を0とする N(0){ } operator int(){ // intへの型変換。Countクラスの値をintに代入するときなどに使われる。 return N; } void operator++(){ // ++ という演算子を定義。Nの値をひとつ増やす。 N++; } }; という意味になります。 だから22行目の++は前置インクリメントではなく上記のメソッドで定義された演算子++の呼び出しです。この書き方だと前置のときの処理しか定義されていないのです。 http://sato-si.at.webry.info/200503/article_3.html 参照。 また、変換演算子については http://www.geocities.jp/ky_webid/cpp/language/029.html などを参考にしてください。
お礼
ご回答ありがとうございます。 細かい説明のおかげで納得できました。 参考URLも活用させていただきます。 ありがとうございました。