I am learning some basic concepts of C++ and I am stuck in using multiple files using headers. I have 3 files.
Calculator.h
#ifndef CALCULATOR_H_CAL
#define CALCULATOR_H_CAL
class Calculator{
int a,b;
public:
Calculator();
Calculator(int,int);
int op();
};
#endif
Calculator.cpp
#include<iostream>
#include "Calculator.h"
Calculator::Calculator(){
a=0;b=0;
}
Calculator::Calculator(int c,int d){
a=c;b=d;
}
int Calculator::op(){
return a*b;
}
Main.cpp
#include<iostream>
#include "Calculator.h"
int main(){
Calculator a(2,3);
int b=a.op();
std::cout << b;
}
But compiling with g++ Main.cpp gives errors:
/tmp/cc09isjx.o: In function `main':
Main.cpp:(.text+0x83): undefined reference to `Calculator::Calculator(int, int)'
Main.cpp:(.text+0x8c): undefined reference to `Calculator::op()'
collect2: ld returned 1 exit status
What is wrong here?