single
チャレンジ:クラスのメソッド
メニューを表示するにはスワイプしてください
クラス内のメソッドは、クラス内で定義された関数に他なりません。これらは、クラスのオブジェクトが実行できる動作やアクションを定義するために使用されます。
メソッドはしばしばクラスの属性を操作したり、オブジェクトに関連する処理を実行したりします。
クラス外でのメソッド実装
メソッドは、スコープ解決演算子(class)を使用して::宣言の外側で定義することができます。これは、ヘッダファイルでの宣言とソースファイルでの実装を分離するためによく行われます。以下はその方法です:
Example.h
Example.cpp
1234class Example { public: void Method(); };
この目的のために2つの異なるファイルを作成する必要はありません。1つのファイル内で実現でき、場合によってはそれが有益となることもあります。
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() を実装してください。このメソッドは以下を行います:
- 割引値を確認し、50%を超えていれば50%に設定します。
- 最終価格を計算し、その値を返します:
- 括弧内で、
(price * discount / 100)の式を使って割引額を算出します - 割引額を
priceから差し引いて、割引後の最終価格を求めます
- 括弧内で、
例
price = 100.0, discount = 60.0 -> 50.0
price = 80.0, discount = 30.0 -> 56.0
price = 50.0, discount = 20.0 -> 40.0
解答
フィードバックありがとうございます!
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください