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

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

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

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

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

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

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

Example.h

Example.h

Example.cpp

Example.cpp

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

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

main.cpp

main.cpp

copy
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 から差し引いて、割引後の最終価格を求めます

price = 100.0, discount = 60.0 -> 50.0
price = 80.0, discount = 30.0 -> 56.0
price = 50.0, discount = 20.0 -> 40.0

解答

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

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

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

セクション 1.  5
single

single

AIに質問する

expand

AIに質問する

ChatGPT

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

some-alt