Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 05.12.2008, 21:30   #31
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Тупые вопросы

ясно !! спасибо !!
хотя ето все-го лиш лабораторная !!

у меня немного другой вопрос:
вот есть шаблон класса !! передаем переменный-значеня разного типа !! как узнать какого типа переменная ??
передали допустим 4.567 и в результате должные получить ответ от "искуственного моска" что это флоат !!
Блин, нас этого и близко не учили, а требуют !!
(Offline)
 
Ответить с цитированием
Старый 05.12.2008, 21:41   #32
jimon
 
Сообщений: n/a
Ответ: Тупые вопросы

IGR
шаблон только знает "имя" класса - то которое задаешь в шаблонном описании, обычно T используют
можно приводить типизацию к T или к другому классу который описан как шаблон в нашем шаблоне

зачем тебе конкретно знать что это float - я не имею представления
 
Ответить с цитированием
Старый 05.12.2008, 21:49   #33
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Тупые вопросы

а почему float, а не, например, double?
(Offline)
 
Ответить с цитированием
Старый 05.12.2008, 22:28   #34
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Тупые вопросы

а почему float, а не, например, double?
хз, это я к примеру !!

шаблон только знает "имя" класса
jimon, может я ошибаюсь, ну вот смотри:
когда в функции-шаблоне я плюсую 2 переменных, то програма врядли станет плюсовать int с char т.е. компилятор видит разницу в этих типах переменных !! мне нужно что бы он увидел тип переменной и сообщил об этом пользователю !!
(Offline)
 
Ответить с цитированием
Старый 05.12.2008, 22:42   #35
jimon
 
Сообщений: n/a
Ответ: Тупые вопросы

IGR
ну дык в чём проблемма ? в ХИДЕРЕ ОПРЕДЕЛИ метод класса для определённого типа в шаблоне (определять после шаблона надо)
тоесть ты можешь определить одну функцию по разному для разных типов, к примеру char и для int
для int ты определяешь просто a1+a2, а для char используешь atoi и тд

тут есть пример даже где шаблонный класс определяется для заданного типа
 
Ответить с цитированием
Старый 05.12.2008, 22:58   #36
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Тупые вопросы

ну ето немоне то !!

по идее у меня должна быть функция WhatIsClass(T x) !!
Потом:
int int_value=34;
char char_string="Skoro_Sessia";
doublу double_value="32654";

Потом когда мы передаем любую из этих переменных у функцию:
WhatIsClass(char_string);
Пользователю должно, допустим высветится на екране:
Char variable !!

Можно ли такое ?? Я тут совсем запутался !!
(Offline)
 
Ответить с цитированием
Старый 05.12.2008, 23:12   #37
jimon
 
Сообщений: n/a
Ответ: Тупые вопросы

IGR
ну сделай это как я сказал
а функции такой нету, в принципе в памяти то любая переменная это просто указатель на место где она хранится, про размер или тип ничего не говорится
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
IGR (05.12.2008)
Старый 05.12.2008, 23:19   #38
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Тупые вопросы

jimon, окай !! попробую так !!
Вот еще книжку по ООП докачаю, может сам че придумаю !!
Спасибо !!
(Offline)
 
Ответить с цитированием
Старый 09.12.2008, 16:55   #39
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Тупые вопросы

WhatIsClass(std::string val)
{
cout<<"it's string"<<endl;
}

WhatIsClass(float val)
{
cout<<"it's float"<<endl;
}

WhatIsClass(double val)
{
cout<<"double"<<endl;
}

Последний раз редактировалось HolyDel, 09.12.2008 в 17:08.
(Offline)
 
Ответить с цитированием
Старый 09.12.2008, 18:50   #40
jimon
 
Сообщений: n/a
Ответ: Тупые вопросы

HolyDel
тогда уж

#define __REGISTER_TYPE(_type) char * WhatIsClass( const _type & val ){return #_type;}

__REGISTER_TYPE(double)
__REGISTER_TYPE(int)

...

double lol = 0;
std::cout << WhatIsClass(lol) << "\n";
 
Ответить с цитированием
Старый 09.12.2008, 19:19   #41
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Тупые вопросы

jimon, можно и проще:
#include <typeinfo>
#include <iostream>

int main()
{
   std::cout<<typeid(0.11f).name()<<std::endl;
   std::cout<<typeid(0.1).name()<<std::endl;
   std::cout<<typeid(1).name()<<std::endl;
   std::cout<<typeid("BAZOOOKAAAAA!!!!").name()<<std::endl;
}
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
IGR (10.12.2008)
Старый 10.12.2008, 16:47   #42
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Тупые вопросы

#include <typeinfo>
#include <iostream>

int main()
{
std::cout<<typeid(0.11f).name()<<std::endl;
std::cout<<typeid(0.1).name()<<std::endl;
std::cout<<typeid(1).name()<<std::endl;
std::cout<<typeid("BAZOOOKAAAAA!!!!").name()<<std: :endl;
}
вот это то что нужно !!
вот мне это часа 3 назад на лекции прочитали !!
и тут маленький вопрос:
что такое std и зачем оно ??
(Offline)
 
Ответить с цитированием
Старый 10.12.2008, 17:04   #43
jimon
 
Сообщений: n/a
Ответ: Тупые вопросы

IGR
std это пространство имен STL
 
Ответить с цитированием
Старый 10.12.2008, 18:29   #44
FDsagizi
Бывалый
 
Аватар для FDsagizi
 
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений
(для 509 пользователей)
Ответ: Тупые вопросы

Сообщение от IGR Посмотреть сообщение
что такое std и зачем оно ??
Прогая на си два плюса и не зная что такое стд. Это примерно тоже самое что ездить на машине и не знать что такое радиатор
__________________
Жизнь как говориться игра- делать игры моя профессия(с)

Программирование, это религия! Её нужно исповедовать.
(Offline)
 
Ответить с цитированием
Старый 10.12.2008, 18:44   #45
newman
Бывалый
 
Регистрация: 20.11.2007
Сообщений: 663
Написано 145 полезных сообщений
(для 176 пользователей)
Ответ: Тупые вопросы

Сообщение от FDsagizi Посмотреть сообщение
Прогая на си два плюса и не зная что такое стд. Это примерно тоже самое что ездить на машине и не знать что такое радиатор
Немного неправильный пример. Ездить на машине, это тоже самое что юзать готовый продукт. Тут правильнее будет такой пример, что ездить на машине и не знать правила, или работать на СТО и не знать что такое радиатор .

А про std во всех книжках для новичков пишут
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои вопросы по С++ Chakki C++ 9 09.02.2009 11:55
Вопросы. AndruXa Blitz3D 17 13.09.2007 13:54
Вопросы vadim2 3D-программирование 2 11.07.2006 21:59


Часовой пояс GMT +4, время: 20:28.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com