Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:コンストラクタとデストラクタによるデータ管理 | Constructors and Destructors
C++オブジェクト指向プログラミング
セクション 2.  8
single

single

bookチャレンジ:コンストラクタとデストラクタによるデータ管理

メニューを表示するにはスワイプしてください

タスク

スワイプしてコーディングを開始

学生の成績管理システムを構築することを想定します。GradesManager クラスを作成し、学生の成績リストを管理します。

この課題では、成績の動的配列を初期化するコンストラクタと、平均点を計算するメソッドを1つ実装してください。デストラクタでは、確保したメモリを自動的に解放します。

  1. イニシャライザリスト構文を用いたコンストラクタの実装:

    • パラメータとして size を受け取ります。
    • 指定された size で整数型の動的配列 grades を確保します。
    • インデックス変数 i0 から size までの for ループで各成績を初期化します:
      • 例として grades[i] = i + 1 を代入します。
  2. メソッド calculateAverage の実装:

    • 変数 sum0 で初期化します。
    • インデックス変数 i0 から size までの for ループで grades 配列を走査します:
      • 各イテレーションで grades[i]sum に加算します。
    • 平均値は sum * 1.0 / size で計算し、double 型の結果を得ます。
    • 平均値を返します。
  3. デストラクタの実装:

    • 配列に確保したメモリを解放するために delete[] grades を使用します。
    • メモリ解放後に "Grades memory released." と出力します。

GradesManager(5).calculateAverage()3.0

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  8
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt