一週間で身に付くc++言語というサイトでc++の勉強を始めたのですが
継承のパートの練習問題が全く分かりません.
お力添えいただけると幸いです.
問い
以下のプログラムに、基本計算クラスFundClacを継承した新計算クラスNewCalcを指定されたとおりの仕様で追加し、期待された実行結果通りにプログラムが動くように改造しなさい。このさい、必要があれば、FundCalcクラスの必要な部分を改造しなさい。
NewCalcクラスのヘッダファイルは、newcalc.h、ソースファイルは、newcalc.cppとすること。
期待される実行結果
10 + 2 = 12
10 - 2 = 8
10 * 2 = 20
10 / 2 = 5
現在の状況
fundcalc.h
c++
1#ifndef _FUNDCALC_H_ 2#define _FUNDCALC_H_ 3 4class FundCalc{ 5private: 6 double m_number1; // 一つ目の数 7 double m_number2; // 二つ目の数 8public: 9 // コンストラクタ 10 FundCalc(); 11 // 一つ目の数を設定 12 void setNumber1(double number); 13 // 二つ目の数を設定 14 void setNumber2(double number); 15 // 一つ目の数を設定 16 double getNumber1(); 17 // 二つ目の数を設定 18 double getNumber2(); 19 // 二つの数の和を出力 20 double add(); 21 // 二つの数の差を出力 22 double sub(); 23}; 24 25#endif // _FUNDCALC_H_
fundcalc.cpp
c++
1#include "fundcalc.h" 2 3FundCalc::FundCalc() : m_number1(0), m_number2(0) 4{ 5} 6// 一つ目の数を設定 7void FundCalc::setNumber1(double number) 8{ 9 m_number1 = number; 10} 11// 二つ目の数を設定 12void FundCalc::setNumber2(double number) 13{ 14 m_number2 = number; 15} 16// 一つ目の数を設定 17double FundCalc::getNumber1() 18{ 19 return m_number1; 20} 21// 二つ目の数を設定 22double FundCalc::getNumber2() 23{ 24 return m_number2; 25} 26// 二つの数の和を出力 27double FundCalc::add() 28{ 29 return m_number1 + m_number2; 30} 31// 二つの数の差を出力 32double FundCalc::sub() 33{ 34 return m_number1 - m_number2; 35}
main.cpp
c++
1#include <iostream> 2#include "newcalc.h" 3 4using namespace std; 5 6int main(){ 7 NewCalc n; 8 n.setNumber1(10); // 一つ目の数を設定 9 n.setNumber2(2); // 二つ目の数を設定 10 cout << n.getNumber1() << " + " << n.getNumber2() << " = " << n.add() << endl; 11 cout << n.getNumber1() << " - " << n.getNumber2() << " = " << n.sub() << endl; 12 cout << n.getNumber1() << " * " << n.getNumber2() << " = " << n.mul() << endl; 13 cout << n.getNumber1() << " / " << n.getNumber2() << " = " << n.div() << endl; 14 15 return 0; 16}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。