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

Абстракция данных. Как реализовать, на примере класса 2D векторов - C++

Восстановить пароль Регистрация
 
Flaker
1 / 1 / 0
Регистрация: 07.07.2012
Сообщений: 90
24.11.2013, 23:04     Абстракция данных. Как реализовать, на примере класса 2D векторов #1
Собственно, я пытался разделить код методов и их объявления. Сам класс в файле Vector.h, а код методов в Vector.cpp.

Когда весь код методов был написан внутри объявления класса в файле Vector.h, все отлично работало, но при попытке вынести его в Vector.cpp, появились ошибки.

Вот тут код моего класса: http://pastebin.com/sXjKjuT8
(Реализацию методов я убрал, что бы не засорять)

VS10 выдает 2 ошибки для конкретно данного кода:

1) 67 строка на pastebin.

C++
1
template<typename _T>
error C2143: syntax error : missing ';' before 'template'

2) 72 строка на pastebin.
(Да-да, на скобку)

error C2244: 'CVector2D<_T>::{ctor}' : unable to match function definition to an existing declaration

Подскажите, пожалуйста, как правильно реализовать такой класс?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 23:04     Абстракция данных. Как реализовать, на примере класса 2D векторов
Посмотрите здесь:

C++ Абстракция данных...модули определяющие типы
C++ Абстракция данных и решение задач на C++ ?
Как првильно организовывать передачу значений (переменных, векторов) между функциями класса? C++
C++ Согласно заданию реализовать класс абстрактного типа данных (далее АТД) как динамический массив. Для этого определение класса должно иметь следующие
C++ На базе класса Queue реализовать простую базу данных
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.11.2013, 23:20     Абстракция данных. Как реализовать, на примере класса 2D векторов #2
реализация шаблонов должна быть в хедере
Flaker
1 / 1 / 0
Регистрация: 07.07.2012
Сообщений: 90
24.11.2013, 23:29  [ТС]     Абстракция данных. Как реализовать, на примере класса 2D векторов #3
Цитата Сообщение от Jupiter Посмотреть сообщение
реализация шаблонов должна быть в хедере
Что есть "шаблоны", в данном случае?

Как же тогда один из важнейших принципов ООП: Абстракция данных?
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.11.2013, 00:27     Абстракция данных. Как реализовать, на примере класса 2D векторов #4
Цитата Сообщение от Flaker Посмотреть сообщение
Что есть "шаблоны", в данном случае?
шаблоны с++

Цитата Сообщение от Flaker Посмотреть сообщение
Как же тогда один из важнейших принципов ООП: Абстракция данных?
каким боком абстракция к модульности?
ct0r
C++/Haskell
 Аватар для ct0r
1549 / 568 / 39
Регистрация: 19.08.2012
Сообщений: 1,174
Завершенные тесты: 1
25.11.2013, 00:53     Абстракция данных. Как реализовать, на примере класса 2D векторов #5
Цитата Сообщение от Flaker Посмотреть сообщение
error C2143: syntax error : missing ';' before 'template'
Ну так тебе ж все написали. Объявление класса должно заканчиваться на ;

Цитата Сообщение от Flaker Посмотреть сообщение
Подскажите, пожалуйста, как правильно реализовать такой класс?
На хаскеле.
Flaker
1 / 1 / 0
Регистрация: 07.07.2012
Сообщений: 90
25.11.2013, 00:58  [ТС]     Абстракция данных. Как реализовать, на примере класса 2D векторов #6
Цитата Сообщение от ct0r Посмотреть сообщение
Ну так тебе ж все написали. Объявление класса должно заканчиваться на ;
Обнаружил прям за 3 минуты до вашего комментария.


Цитата Сообщение от ct0r Посмотреть сообщение
На хаскеле.

И то верно...

Добавлено через 1 минуту
Цитата Сообщение от Jupiter Посмотреть сообщение
каким боком абстракция к модульности?
Разве это разделение не является именно абстракцией?

Не нашел про модульность... Вы не могли бы линк на "почитать" о модульности дать?
Yandex
Объявления
25.11.2013, 00:58     Абстракция данных. Как реализовать, на примере класса 2D векторов
Ответ Создать тему
Опции темы

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