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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.07.2009, 14:27   #1
Spice
Пользователь
 
Регистрация: 14.07.2008
Сообщений: 37
По умолчанию Перегрузка конструктора

Извеняюсь за откровенно ламерский вопрос, но никак не могу воткнуть в суть.
Код:
#include <stdlib.h>
using namespace std;

class Point
{
public:
	Point();
	Point(float dX, float dY);

	float dX;
	float dY;
};

Point::Point()
{
	Point::Point(0, 0);
}

Point::Point(float dX, float dY)
{
	this->dX = dX;
	this->dY = dY;
}

void main()
{
	Point point1;

	point1 = Point(10, 10);
	printf("&point1 = %x; x=%f, y=%f \n", &point1, point1.dX, point1.dY);
	
	point1 = Point();
	printf("&point1 = %x; x=%f, y=%f \n", &point1, point1.dX, point1.dY);

	getchar();

	return;
}
Почему при вызове перегруженного конструктора без параметров поля экземпляра класса содержат значения типа -107374176.000000. Мусор из оперативки, я полагаю. Но почему они не иницилизируются??
Что выбрать: зависимость от свободы или свободу от зависимости?..
Spice вне форума Ответить с цитированием
Старый 20.07.2009, 14:35   #2
assasin
Форумчанин
 
Регистрация: 27.04.2009
Сообщений: 123
По умолчанию

А так))
Код:
Point::Point() : dX(0),dY(0)
{
}
<= P.S. если я тебе помог нажми весы слева <=
assasin вне форума Ответить с цитированием
Старый 20.07.2009, 14:36   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Почему
А ты уверен что Point::Point(0, 0); выполняется вообще?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.07.2009, 14:37   #4
Spice
Пользователь
 
Регистрация: 14.07.2008
Сообщений: 37
По умолчанию

Спасибо, помогло. Забыл, что так можно.

Цитата:
Сообщение от Stilet Посмотреть сообщение
А ты уверен что Point::Point(0, 0); выполняется вообще?
Отладка говорит да.
Что выбрать: зависимость от свободы или свободу от зависимости?..

Последний раз редактировалось Sazary; 20.07.2009 в 23:09.
Spice вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть ли тут конструктора - как рассчитывается инволюта? Stilet Свободное общение 8 23.10.2009 09:28
Перегрузка ++ counter Общие вопросы C/C++ 3 20.12.2008 13:30
Переопределение конструктора формы daunito Общие вопросы Delphi 5 23.11.2008 01:58
Перегрузка ++ Dark_Maks Общие вопросы C/C++ 2 18.12.2007 09:27