急救急救!~C++测试题求解!~高手来啊

来源:百度知道 编辑:UC知道 时间:2024/09/24 05:30:34
阅读程序,写出程序执行时输出结果
#include<iostream.h>

#include<stdlib.h>

class A {

int a,b; char op;

public:

A(int aa, int bb, char ch) {a=aa; b=bb; op=ch;}

int Comp() {

switch(op) {

case "+": return a+b;

case "-": return a-b;

case "*": return a*b;

case "/": if(b!=0) return a/b; else exit(1);

case "%": if(b!=0) return a%b; else exit(1);

default: exit(1);
}
}
void SetA(int aa, int bb, char ch) {
a=aa; b=bb; op=ch;
}

};
void main(void) {

A x(3,5,"*");
int a=x.Comp();

在主程序中的函数调用或构造函数中所有的字符串型都应该换成字符,如:
A x(3, 5, '*');
x.SetA(4, 9, '+');

结果:
A x(3,5,'*');
int a=x.Comp(); //a = 3*5 = 15
x.SetA(4,9,'+');
a+=x.Comp(); //a = 15 + 13 = 28
x.SetA(8,5,'%');
a+=x.Comp(); // a = 28 + 3 = 31
cout<<"a="<<a<<endl; //a = 31

不会,好象和C的区别还是很大的

不会~