皆様、新たに簡易電卓のクラスバージョンをアップしたいと思います。
今回、都合上、解説というかコメントを付していませんが、分かりやすく書いたつもりです<(_ _)>




/* 作成日 : 2015/02/01 */
#include
#include "c24-90.h"
using namespace std;
int main()
{
int *val;
cout << "計算クラスを利用した" "プログラムの開始\n";
Calc myCalc(0, 0, 0);
myCalc.set();
myCalc.sw();
double ans = myCalc.calc();
cout << "\n計算結果 = " << ans << "です。\n";

}

ヘーダーファイル



#include
using namespace std;

class Calc
{
 private:
double left;
char enzanshi;
double right;
 public:
 Calc(double, char, double);
int set();
double get(int no = 0);
int sw(char enzan);
double calc();
void roop(int h);
};
Calc::Calc(double val1, char cval,
  double val2):left(val1), enzanshi(cval), right(val2)
{
}

int Calc::set()
{
cout << "\n 1 番目のデータ" "を入力 ----> ";
cin >> left;
cout << "\n 2 番目のデータ" "を入力 ----> ";
cin >> right;
cout << "\n +, -, *, / の" "演算子入力 ----> ";
cin >> enzanshi;
return 0;
}

double Calc::get(int n)
{
double x;
if (n == 1)
x = left;
else if (n == 2)
x = right;
else
x = enzanshi;
return x;
}

int Calc::sw(char csw = 0)
{
int v;
csw = get(3);
switch (csw)
{
case '+':
v = 1;
break;
case '-':
v = 2;
break;
case '*':
v = 3;
break;
case '/':
v = 4;
break;
default:
cout << "\nERROR!!" " 値がおかしいです!\n";
}
enzanshi = v;
return 0;
}

double Calc::calc()
{
double ans;
switch ((char)get(3))
{
case 1:
ans = get(1) + get(2);
break;
case 2:
ans = get(1) - get(2);
break;
case 3:
ans = get(1) * get(2);
break;
case 4:
ans = get(1) / get(2);
break;
}
return ans;
}