const readline = require('readline');
class MathOperation {
performOperation(a, b) {
return 0; // Base class default implementation
}
}
class Addition extends MathOperation {
performOperation(a, b) {
return a + b;
}
}
class Subtraction extends MathOperation {
performOperation(a, b) {
return a - b;
}
}
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question("\n\tEnter the first number: ", (num1) => {
rl.question("\tEnter the second number: ", (num2) => {
rl.question("\tEnter the operation (+ for addition, - for subtraction): ", (op) => {
let operation;
if (op === '+') {
operation = new Addition();
} else if (op === '-') {
operation = new Subtraction();
} else {
console.log("\tInvalid operation.");
rl.close();
process.exit();
}
const result = operation.performOperation(parseInt(num1), parseInt(num2));
console.log("\n\tThe Result:", result);
rl.close();
console.log("\n\tEnd of Program. Thank you for using this program.\n");
});
});
});