Форум программистов, компьютерный форум CyberForum.ru

Не найдено обращение в классе - C++

Восстановить пароль Регистрация
 
a91
 Аватар для a91
4 / 4 / 0
Регистрация: 03.04.2009
Сообщений: 190
10.02.2012, 16:23     Не найдено обращение в классе #1
Здравствуйте!

У меня есть 3 файла (для наглядности загрузил их в архив):
- main.cpp - главный файл программы
- UFr.h - заголовочный файл модуля, в нем описан класс TFr
- UFr.cpp - исходный файл модуля, в нем определены функции класса

В исходном файле main.cpp создаю экземпляр класса, и вызываю конструктор (так как я предполагаю).
Но в процессе компиляции выдается ошибка [Linker error] undefined reference to `TFr::TFr(int, int)'
Я уже как только не перепробывал, ничего не могу сделать.
Я видимо неправильно создаю заголовочный файл.

Это как-то можно исправить?

UFr.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#ifndef UFR_H
#define UFR_H
 
class TFr
{
public:
    TFr (int a, int b);
    void setValue();
 
    int p; // p -
    int q; // q -
};
 
#endif
UFr.cpp
C++
1
2
3
4
5
6
7
8
9
#include "UFr.h"
 
TFr :: TFr(int a, int b)
{
}
 
void TFr :: setValue()
{
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <cstdio>
#include <iostream>
#include <conio.h>
 
#include "UFr.h"
 
using namespace std;
 
int main()
{
    TFr f1(43, 432);
 
    cout << f1.p;
    cout << f1.q;
 
    getch();
    return 0;
}
 Комментарий модератора 
У вас всего лишь три небольших файла. К чему было закидывать их на форум архивом?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2012, 16:23     Не найдено обращение в классе
Посмотрите здесь:

подскажите организовать обращение к элементу массива в классе! C++
C++ Обращение к структуре в классе с выделением памяти
C++ Известны оценки по физике каждого ученика двух классов.Определить средниюю оценку в каждом классе.Количество учащихся в каждом классе одинаковое!
Как обьявить переменную в одном классе и что бы ее было видно в дочернем классе C++
Как записать условие, чтобы в моей программе текст выводился только когда не найдено искомых строк. C++
Обращение к функции в классе C++
C++ Шаблон в классе
C++ Вывести сообщение, если не найдено ни одного совпадения

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
10.02.2012, 16:39     Не найдено обращение в классе #2
VS 2010 - скомпилила и запустила без ошибок.
Был единственный ворнинг, да и тот связан с гетчем
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
10.02.2012, 17:01     Не найдено обращение в классе #3
a91, если вы пользуетесь какой-либо средой программирования, то для того, чтобы компилятор увидел все нужные файлы и линкёр расставил ссылки, нужно не просто компилировать файл main.cpp, а создать отдельный проект и добавить в него все файлы программы. Если компилируете из командной строки, то компилятору в качестве входных файлов нужно указать все cpp-файлы. Пример компиляции вашей программы с помощью gcc:
Bash
1
g++ -pedantic main.cpp UFr.cpp -o prog
Yandex
Объявления
10.02.2012, 17:01     Не найдено обращение в классе
Ответ Создать тему
Опции темы

Текущее время: 06:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru