#02 C++ちょこっと勉強(2日目):クラス

今日のお題

本日のお品書き

今日は、
・クラスとは何か?
・クラスの使い方
などを、学ぶよ!!!

ここで、ちょっとメモ
list2-1のmain.cppのプログラムと実行結果実は少し間違っています。
具体的には、11行目の以下の部分です。

cout << "整数を入力して下さい:" << endl;

実行結果がこちら


整数を入力して下さい:5    ← キーボードから数値を入力
5

皆さんは、わかりますか?
一応少し考えてみてくださいw(答えは、忘れてなければ最後に書いておきます

複数のインスタンスを作れるのは、便利だと感じました。

練習問題の解答

prob2-1
main.cpp

#include <iostream>
#include "keisan.h"

using namespace std;

int main() {
 Keisan k;
 k.a = 4;
 k.b = 3;
 cout << k.a << " + " << k.b << " = " << k.add() << endl;
 cout << k.a << " - " << k.b << " = " << k.sub() << endl;

 return 0;
}

keisan.h

#ifndef _KEISAN_H_
#define _KEISAN_H_
class Keisan{
public:
 int a;
 int b;
 int add();
 int sub();
 
};
#endif // _KEISAN_H_

keisan.cpp

#include "keisan.h"
int Keisan::add()
{
   return a + b;
}

int Keisan::sub(){
 return a - b;
}


prob2-2
main.cpp

#include <iostream>
#include "minmax.h"
using namespace std;
int main(){
   MinMax m;
   int a = 4;
   int b = 2;
   int c = 7;
   cout << a << "と" << b << "と" << c << "のうち、最大のものは" << m.max(a,b,c) << endl;
   cout << a << "と" << b << "と" << c << "のうち、最小のものは" << m.min(a,b,c) << endl;
   return 0;
}

minmax.h

#ifndef _MINMAX_H_
#define _MINMAX_H_
class MinMax{
public:
 int max(int n1,int n2,int n3);
 int min(int n1,int n2,int n3);
};
#endif // _MINMAX_H_

minmax.cpp

#include "minmax.h"
//  最大値を返す
int MinMax::max(int n1,int n2,int n3){
 int max = 0;
 
 if (n1 > n2){
   max = n1;
 }else { 
   max =  n2;
 }
 if(max > n3){
   max = max;
 }else{
   max = n3;
 }
 return max;
}

//  最小値を返す
int MinMax::min(int n1,int n2,int n3){
 return -max(-n1, -n2, -n3);
}


今日はこれでおしま〜い

ちょっと時間空いてしまいましたが、多分これであってます。
2つ目の問題の比較部分がちょっとダサいので、
いい方法知っている方、教えていただけたら嬉しいです^^

それでは、次回は3日です!!

この記事が気に入ったらサポートをしてみませんか?