我正在学习 C++ 的一些基本概念,并且我被困在使用标头使用多个文件中。我有 3 个文件。
计算器.h
#ifndef CALCULATOR_H_CAL
#define CALCULATOR_H_CAL
class Calculator{
int a,b;
public:
Calculator();
Calculator(int,int);
int op();
};
#endif
计算器.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;
}
主文件
#include<iostream>
#include "Calculator.h"
int main(){
Calculator a(2,3);
int b=a.op();
std::cout << b;
}
但是用 g++ Main.cpp 编译会出错:
/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
这里有什么问题?