How do I separate classes into multiple files? Here is my understanding so far:
- Create new class, and a ".h" and a ".cpp" file for it.
- You use #include classname.hin your main source file to import its contents.
- The Classname::Classnameat the beginning of the source file is a Scope Resolution Operator.
- You can call functions from mainby using the objects that you have declared.
I'm just confused about how to implement this in practice. I have created a working calculator program with all the classes in one source file:
#include <iostream>
using namespace std;
class Addition {
    public:
    float add(float x, float y) {
        float sum;
        sum = x + y;
        return sum;
    }
};
class Subtraction {
    public:
    float subtract(float x, float y) {
        float dif;
        dif = x - y;
        return dif;
    }
};
class Multiplication {
    public:
    float multiply(float x, float y) {
        float prod;
        prod = x * y;
        return prod;
    }
};
class Division {
    public:
    float divide(float x, float y) {
        float quot;
        quot = x / y;
        return quot;
    }
};
int op;
char cont;
int main() {
    do {
    cout << "Welcome to C++ Calculator v2!" << endl;
    cout << "Select the number for which operation you want to use: " << endl;
    cout << "1-Addition" << endl;
    cout << "2-Subtraction" << endl;
    cout << "3-Mutliplication" << endl;
    cout << "4-Division" << endl;
    cin >> op;
    if (op == 1) {
        float num1;
        float num2;
        Addition addObj;
        cout << "You have chosen Addition!" << endl;
        cout << "Enter the first number you want to add: " << endl;
        cin >> num1;
        cout << "Enter the second number you wat to add: " << endl;
        cin >> num2;
        float ans = addObj.add(num1, num2);
        cout << "The sum is " << ans << endl;
        cout << "Do you wish to continue? Y/N" << endl;
        cin >> cont;
    }
    if (op == 2) {
        float num1;
        float num2;
        Subtraction subObj;
        cout << "You have chosen Subtraction!" << endl;
        cout << "Enter the first number you want to subtract: " << endl;
        cin >> num1;
        cout << "Enter the second number you want to subtract: " << endl;
        cin >> num2;
        float ans = subObj.subtract(num1, num2);
        cout << "The difference is " << ans << endl;
        cout << "Do you wish to continue? Y/N" << endl;
        cin >> cont;
    }
    if (op == 3) {
        float num1;
        float num2;
        Multiplication multObj;
        cout << "You have chosen Multiplication!" << endl;
        cout << "Enter the first number you want to multiply: " << endl;
        cin >> num1;
        cout << "Enter the second number you want to multiply: " << endl;
        cin >> num2;
        float ans = multObj.multiply(num1, num2);
        cout << "The product is " << ans << endl;
        cout << "Do you wish to continue? Y/N" << endl;
        cin >> cont;
    }
    if (op == 4) {
        float num1;
        float num2;
        Division divObj;
        cout << "You have chosen Division!" << endl;
        cout << "Enter the first number you want to divide: " << endl;
        cin >> num1;
        cout << "Enter the second number you want to divide: " << endl;
        cin >> num2;
        float ans = divObj.divide(num1, num2);
        cout << "The quotient is " << ans << endl;
        cout << "Do you wish to continue? Y/N" << endl;
        cin >> cont;
    }
    } while (cont == 'Y' || cont == 'y');
    if (cont == 'N' || 'n') {
    cout << "Thanks for using my program, goodbye!" << endl;
    }
    return 0;
}
I know there is a lot easier way to make something like this, but I've used classes and objects instead for the sole purpose of practice.
 
     
     
     
     
     
    