Инициализация объекта с оператором new и без него

Если у меня есть класс Rectangle

class Rectangle{

private:
    double width;
    double height;


public:
void    Set(double w , double l){
    width   = w;
    height  = l;
}
};

, и я объявляю объект, например:

Rectangle *Obj;

, а затем пытаюсь инициализировать его свойства:

Obj->Set(3,5);

компилятор показывает при запуске - time: Переменная Obj используется без инициализации.

Решить проблему можно:

Rectangle *Obj=new Rectangle;

Я бы спросил о причине! И почему компилятор не выдает ошибок во время компиляции?

22
задан Aan 23 November 2011 в 08:14
поделиться