-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpolymorphismImplementationFile.cpp
More file actions
52 lines (47 loc) · 1.52 KB
/
polymorphismImplementationFile.cpp
File metadata and controls
52 lines (47 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "polymorphismHeader.h" //include header file using #include directive and quotes
#include <iostream>
Calculator::Calculator() { //constructor to set initial status
status = true;
}
void Calculator::launch() { //display initial instructions
std::cout << "****************Welcome to the calculator*******************\n";
std::cout << "Enter zero to quit." << std::endl;
}
void Calculator::readInput() { //get expression
std::cout << "Please enter first number: ";
std::cin >> num1;
if (num1 == 0) {
status = false;
}
else {
std::cout << "Please enter second number: ";
std::cin >> num2;
std::cout << "Enter operator: ";
std::cin >> oper;
}
}
void Calculator::writeOutput() { //display output
if(status) switch(oper) {
case '+':
std::cout << num1 << " + " << num2 << " = " << num1 + num2 << std::endl;
break;
case '-':
std::cout << num1 << " - " << num2 << " = " << num1 - num2 << std::endl;
break;
case '*':
std::cout << num1 << " * " << num2 << " = " << num1 * num2 << std::endl;
break;
case '/':
std::cout << num1 << " / " << num2 << " = " << num1 / num2 << std::endl;
break;
default:
std::cout << "Invalid operator.\n";
break;
}
// else {
// std::cout << "Goodbye!\n";
// }
}
bool Calculator::run() { //accessor to get current status
return status;
}