#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日です!!