C ++, проблемы с использованием классов .h и .cpp, функция getEstimate не будет работать

По какой-то причине, хотя я думаю, что класс создан для использования заголовочных файлов, ничего не будет перенесено. Я пытаюсь отправить некоторые данные в класс, чтобы сделать простую математику, а затем отправить результаты обратно. Тем не менее, я дал вам основу кода, мне просто нужна передача данных между файлами для работы.

Вот код:

——————————————main.cpp ———-

#include <iostream>
#include <string>
#include "Estimate.h" //incloude class file

using namespace std;

int main() {//open main

int labour = 3, travel = 4, copper = 2, plastic = 1, chrome = 2;//initialise integers

//constructer for class Job - passing through all the variables above.
Estimate Job(labour, travel, copper, plastic, chrome);

//CALL FUNCTION to print invoice
Job.getEstimate();

system("pause");
return 0;
}//close main

———————————————Estimate.h ————

class Estimate          {//open classs

public:

int labour, travel, copper, plastic, chrome, subTotal;
float total, vat;

Estimate(int, int, int, int, int);
~Estimate();

void getEstimate()  {}

};//close estimate

—————————Estimate.cpp ——————————-

#include <iostream>
#include <string>
#include "Estimate.h"
int labour, travel, copper, plastic, chrome, subTotal;
float total, vat;

//constructor and destructor
Estimate::Estimate(int labour,int travel, int copper, int plastic, int chrome)  {
this -> labour  = labour;
this -> travel  = travel;
this -> copper  = copper;
this -> plastic = plastic;
this -> chrome  = chrome;
}//constructor

Estimate::~Estimate()   {}//destructor

void getEstimate()  {
std::cout << "################### Estimate ###################";
system("pause");
}//function

-4

Решение

Вам нужно начать с кода, который компилируется. как упоминается Marcin тебе нужно сделать #include <iostream> а также #include <string>

Теперь в своем заголовке вы определяете Estimate::getEstimate как пустая функция {},
И в вашей реализации вы определяете функцию с областью действия getEstimate,

Измените строку в вашем заголовке на:

void getEstimate();

И строка в вашей реализации:

void Estimate::getEstimate(){
1

Другие решения


По вопросам рекламы [email protected]