レポート課題:演算子オーバーロードを用いた文字列クラスの実装・テスト
課題
C++の標準クラスであるstd::stringを模擬した文字列クラス(MyString)を作成し,
=演算子による文字列の代入および+演算子による文字列の連結をテストしなさい.
テストには下記のmain.cppを用いること.
メイン関数 (main.cpp)
includeSrcWithFrame("prog_report/main.cpp", 4, "", false, true); ?>
必須課題
- =演算子による文字列の代入
- +演算子による文字列の連結
考察課題
- main.cppの連結テスト処理行(s3 = "ID:" + s1 + " is " + s2;)において,呼び出される演算子関数を呼び出される順に全て答えよ(演算子関数の戻り値と引数の型,およびそれぞれの呼び出しにおける実引数を明記すること)
- コンストラクタをオーバーロードする理由を2つ以上説明せよ
- フレンド関数(演算子)とメンバ関数(演算子)はどのように違うか説明せよ
※webサイトや参考書の丸写しはNG.自分の言葉で書くこと.(丸写しが発覚したら受理しません)
オプション課題
- std::stringで使用できる演算子を調べ,できるだけ模擬せよ.実装した演算子の数が多い(または質が高い)ほど点数UP.
スケジュール
- レポート提出〆切 … 2024/12/2(月) 14:20
- 書式不備レポート返却 … 2024/12/5(木)
- 書式不備修正レポート提出 … 2024/12/12(木) 12:30
注意点
Visual Studio以外の環境で課題に取り組む場合の注意事項
- main.cppの”_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);”の行をコメントアウトしてテストする
- 自分の使用している環境でのメモリリークチェックの方法を考察課題として調査する
- 実行可能であれば、メモリリークチェックを実施し、その結果を記載する