tihonya
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 113
|
|||||||||||||||||||||
#1 | |||||||||||||||||||||
Шаблон (прототип) класса - C++25.06.2012, 18:58. Просмотров 4155. Ответов 12
Метки нет Все метки)
(
Есть простенькая тестовая программа.
1)главный срр, 2)заголовок с шаблоном класса test. 3) реализация класса test или его методов что-то вроде этого и чтоб работало: main.cpp
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
25.06.2012, 18:58 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Шаблон (прототип) класса (C++):
12
Прототип класса - C++ прототип класса - C++ Прототип метода, возвращающего объект класса - C++ Шаблоны функций, Ошибка: для использования класса шаблон требуется список аргументов шаблон - C++ Шаблон класса, параметром которого должны являться наследники определённого класса - C++ Шаблон класса (параметризация класса) - C++ |
Chelioss
181 / 181 / 4
Регистрация: 08.01.2011
Сообщений: 1,137
|
|
25.06.2012, 19:22 | #3 |
В одном файле вы определяете класс. В другом его методы без самого класса, а не как вы сделали в классе. В третьем функция main.
0
|
tihonya
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 113
|
|
25.06.2012, 20:38 [ТС] | #4 |
Как вынести реализацию методов(или методы) за пределы класса? Желательно на примере этого кода.
Зы: сижу с включенной студией, так просто не получается. ![]() Зыы: буду знать, что некоторые из моих действий не возможны.
0
|
soon
|
||||||||||||||||
25.06.2012, 20:47 | #5 | |||||||||||||||
foo.hpp
0
|
tihonya
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 113
|
||||||
25.06.2012, 21:59 [ТС] | #6 | |||||
Что означает вот это определение
Если поменять название функции нечего не работает. Почему он требует конструктор класса ? У вас со структурой(хотя это почти тоже самое что и класс) оно работает, у меня с классом не получается, и не получается добавить в эту структуру функцию с другим названием. Если вернутся к моему коду, то как вывести метод show(реализацию) из класса test....
0
|
soon
|
||||||||||||||||
25.06.2012, 22:10 | #7 | |||||||||||||||
test.hpp
RTFM, структра и класс - одно и то же, различия только в доступе по умолчанию.
1
|
tihonya
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 113
|
|
25.06.2012, 23:08 [ТС] | #8 |
Так похоже оно все работает, только я исправил маленькую букву t в на большую Test кое где и одна {, понял что такоe ~Test -анти конструктор класса,.
Вот не понял одного, почему ~Test вызывается дважды после окончания функции show и по окончание функции main , соответственно удалить то, что только-что оно удалило не может и вылетает? с Этим разобраться и можно тему закрывать.
0
|
Chelioss
181 / 181 / 4
Регистрация: 08.01.2011
Сообщений: 1,137
|
|
26.06.2012, 01:39 | #9 |
Потому что два раза создается объект типа test.
0
|
tihonya
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 113
|
|
26.06.2012, 02:07 [ТС] | #10 |
0
|
Chelioss
181 / 181 / 4
Регистрация: 08.01.2011
Сообщений: 1,137
|
|
26.06.2012, 02:57 | #11 |
1
|
tihonya
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 113
|
||||||
26.06.2012, 05:38 [ТС] | #12 | |||||
Блин, а я уже хотел ругаться.
Я думал что просто указывал на то какой параметр принимает функция show, а она все таки создает новый экземпляр класса. Век живи - век учись. Дай мне Боже терпения, а то так можно и наехать на людей которые помогают. Спасибо. ЗЫ: Можно сделать двумя вариантами 1) передать по значению.
или убрать вообще принимаемое значение в show и обращаться непосредственно к А и В, функция же находится внутри класса. И то и то будет работать. Тема исчерпана.
0
|
Chelioss
181 / 181 / 4
Регистрация: 08.01.2011
Сообщений: 1,137
|
|
26.06.2012, 14:24 | #13 |
0
|
26.06.2012, 14:24 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
26.06.2012, 14:24 |
Привет! Вот еще темы с ответами:
13
Создать шаблон некоторого класса, возможно, реализованного с применением некоторого серверного класса - C++ Шаблон класса. - C++ шаблон класса - C++
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |