Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
139 / 133 / 57
Регистрация: 31.01.2012
Сообщений: 435

Хранение прототипов методов класса и их непосредственной реализации в различных файлах

20.03.2013, 00:08. Показов 1095. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот собственно решил перейти на тот этап, когда прототипы в *.h а определения в *.cpp но почти сразу столкнулся со странной ошибкой в элементарном примере:

C++
1
2
3
4
5
6
7
8
9
10
11
12
//point.hpp
class Point{
private:
        int x;
        int y;
public:
        Point();
        Point(int a, int b);
        ~Point();
        int sum();
        double sum2();
};
C++
1
2
3
4
5
6
7
//point.cpp
#include "point.hpp"
Point::Point(){x=y=0;}
Point::Point(int a, int b){x=a; y=b;}
Point::~Point(){}
Point::sum(){return x+y;}
Point::sum2(){return x+y;}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//main.cpp
#include "point.cpp"
#include <iostream.h>
int main()
{
Point t(1,2);
int z1=t.sum();
cout<<z1<<endl;
double z2=t.sum2();
cout<<z2<<endl;
system("pause");
        return 0;
}
при попытке компиляции получаю ошибку, что sum2() не член класса Point. забавно, что при расположении класса в одном файле с main() или же определении метода в point.hpp ошибка не возникает.
компилирую в borland builder'е 6
методы для поиска "в чем загвоздка" выполняют одно и то же, разница в названии и возвращаемом значении. вряд ли в названии мне кажется.
потому собственно и вопрос когда методы возвращающие double перестали быть членами класса... или все-таки в чем тут проблема?
Миниатюры
Хранение прототипов методов класса и их непосредственной реализации в различных файлах  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2013, 00:08
Ответы с готовыми решениями:

Хранение различных структур и методов
Мне нужно хранить некоторые методы, структуры и прочие данные в отдельных классах что бы как то разбавлять код. Делать его более...

Определение методов шаблонного класса в файле реализации
Доброго времени суток, форумчане! :) Поздравляю всех мужчин с праздником. Желаю быть мужественными, стойкими, рассудительными и...

Разработка класса для реализации различных видов сортировки символов в строке
Здравствуйте. Нужна помощь по реализации проекта по ООП. Может кто-то уже сталкивался с подобными задачами и может поделится своими...

1
139 / 133 / 57
Регистрация: 31.01.2012
Сообщений: 435
20.03.2013, 00:30  [ТС]
разобрался. причина: банально неверный синтаксис был. работает вот так:
C++
1
2
3
4
5
6
#include "point.hpp"
Point::Point(){x=y=0;}
Point::Point(int a, int b){x=a; y=b;}
Point::~Point(){}
int Point::sum(){return x+y;}
double Point::sum2(){return x+y;}
вопрос снят
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.03.2013, 00:30
Помогаю со студенческими работами здесь

Разобрать работу скриптовых прототипов для реализации имеющихся заданий
и) найти и разобрать работу скриптовых прототипов для реализации пунктов заданий а,б,…, з.

При решении задачи необходимо использовать как минимум 5 различных графических методов канвы и 3 различных цвета оформле
При решении задачи необходимо использовать как минимум 5 различных графических методов канвы и 3 различных цвета оформления.

Отделение интерфейса от реализации класса: компиляция кода реализации
Доброго времени суток, У меня возникла проблема с отделением интерфейса от реализации класса. Допустим, у меня есть три файла: 1....

Напишите реализацию методов, предоставляющих доступ к данным класса. Отобразите в программе работу этих методов
Реализация методов класса. Напишите реализацию методов, предоставляющих доступ к данным класса. Отобразите в программе...

Хранение данных в файлах
В каком случае лучше хранить данные в файлах в виде байт? Кроме того случая, когда нужно защитить их от чьих-то глаз? Правильнее...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru