Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.02.2009, 23:17   #1
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию Типы аргументов при перегрузке функций

Здравствуйте. Подскажите пожалуйста. Если я буду передавать в функцию переменную типа float, а у функции в качестве типа аргумента тип doube... Будет ли это работать?

Это же всё равно что:
Код:
short a;
int b;
b=a;
Или при перегрузке нужно брать конкретный тип? Но например short является же подмножеством int...

Заранее благодарен за помощь

Последний раз редактировалось Arkuz; 15.02.2009 в 23:20.
Arkuz вне форума
Старый 15.02.2009, 23:41   #2
July
 
Аватар для July
 
Регистрация: 14.02.2009
Сообщений: 3
Радость Лови подсказку)

Код:
#include <iostream>
using namespace std;
double f(float x){
	return x;
}
int main()
{
	float var;
	cout<<"Var = "; cin>>var;
	cout<<f(var)<<endl;
	system("PAUSE");
	return 0;
}
Модератор: тег CODE

Последний раз редактировалось MaTBeu; 16.02.2009 в 00:10.
July вне форума
Старый 17.02.2009, 11:57   #3
tavrocotaps
Пользователь
 
Аватар для tavrocotaps
 
Регистрация: 16.08.2008
Сообщений: 56
По умолчанию

ничего страшного не возникнет, главное, чтоб не наоборот в float пихать double.... Хотя тоже ничего страшного, но возможна потеря точности...
forever trusting who we are...
tavrocotaps вне форума
Старый 17.02.2009, 17:08   #4
theos
Форумчанин
 
Аватар для theos
 
Регистрация: 10.12.2007
Сообщений: 158
По умолчанию

Вообще компилятор не будет ругаться в том случае, если он может за 1 шаг преобразовать передаваемый тип в получаемый. То есть если есть типы T1 и T2, то функцию void f(T1 var) можно вызывать таком образом: f((T2)x), если существует конструктор T1(T2&)

Для типов int, long, float, double и прочих подобных такие конструкторы существуют, но компилятор будет выдавать варнинг, что такое преобразование может привести к потере данных.
theos вне форума
Старый 24.02.2009, 01:16   #5
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Спасибо... Компилятор и ругается... Сделаю всё для разных типов...
Arkuz вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка ++ counter Общие вопросы C/C++ 3 20.12.2008 13:30
перегрузка + softrix Общие вопросы C/C++ 2 21.06.2008 22:27
Перегрузка функций... bondik Общие вопросы C/C++ 12 28.04.2008 01:07
Перегрузка ++ Dark_Maks Общие вопросы C/C++ 2 18.12.2007 09:27
перегрузка функций Snake_ua Общие вопросы Delphi 3 26.11.2007 10:54