Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:クラスのメソッド | C++におけるOOPの基礎
C++オブジェクト指向プログラミング
セクション 1.  5
single

single

チャレンジ:クラスのメソッド

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

クラス内のメソッドは、基本的にクラス内で定義された関数です。これらは、クラスオブジェクトが実行できる動作やアクションを定義するために使用されます。

メソッドはしばしばクラスの属性を操作したり、オブジェクトに関連する処理を実行したりします。

クラス外でのメソッド実装

メソッドは、スコープ解決演算子class)を使用して::宣言の外側で定義できます。これは、ヘッダファイルでの宣言とソースファイルでの実装を分離するためによく行われます。以下はその方法です:

Example.h

Example.h

Example.cpp

Example.cpp

1234
class Example { public: void Method(); };

この目的のために2つの異なるファイルを作成する必要はありません。1つのファイル内で実現でき、場合によってはそれが有益となることもあります。

main.cpp

main.cpp

12345678
#include <iostream> class Example { public: void Method(); }; void Example::Method() { std::cout << "Method was called" << std::endl; }

一般的な良い慣習は、宣言と実装を分離すること

タスク

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

割引が適用された商品の価格を計算するシンプルなシステムを構築すると想像してください。このシステムには特別なルールも適用されます:割引率はどんな場合でも50%を超えてはなりません。たとえそれ以上の値が指定されても、最大50%までに制限されます。

Product クラスには以下のフィールドがあります:

  • price(型:float
  • discount(型:float

メソッド getFinalPrice() を実装してください。このメソッドは以下を行います:

  1. 割引値を確認し、50%を超えていれば50%に設定します。
  2. 最終価格を計算し、その値を返します:
    • 括弧内で、(price * discount / 100) の式を使って割引額を計算します
    • 割引額を price から差し引いて、割引後の最終価格を求めます

解答

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

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

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

セクション 1.  5
single

single

AIに質問する

expand

AIに質問する

ChatGPT

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

some-alt