0
Я пытаюсь использовать несколько файлов в первый раз на C++. Вот файлы, которые я написал.undefined ссылка на Class :: Class() и Class :: function()
Файл № 1: Box.hpp
#ifndef BOX_HPP
#define BOX_HPP
class Box
{
private:
int length;
int width;
int height;
Box() {}
public:
Box(int _length, int _width, int _height);
void set_dimensions(int _length, int _width, int _height);
int volume();
};
#endif
Файл № 2: Box.cpp
#include "Box.hpp"
Box::Box(int _length, int _width, int _height)
{
set_dimensions(_length, _width, _height);
}
void Box::set_dimensions(int _length, int _width, int _height)
{
length = _length;
width = _width;
height = _height;
}
int Box::volume()
{
return length*width*height;
}
Файл № 3: main.cpp
#include "Box.hpp"
#include <iostream>
int main()
{
Box box1 = Box(1,2,3);
std::cout << box1.volume() << std::endl;
return 0;
}
Когда я пытаюсь Запустите main.cpp. Я получаю следующие ошибки:
неопределенная ссылка на 'Box :: Box (интермедиат, Int, Int)'
неопределенная ссылка на 'Box :: объема()'
Я не могу понять, почему.
Как вы строите программу? Вы связываете * оба * исходных файла? –
Возможно, это поможет вам: http://stackoverflow.com/questions/14173217/c-calling-a-function-from-another-class – Matheno