2013-02-09 5 views
-2
class A { 
    public: 
    A() { cout << "Constructor\n"; } // (1) default constructor 
}; 

A obj;        // (2) instantiating obj 

A obj();        // (3) 

В чем разница между инстанцированием obj и obj()? obj вызывает конструктор по умолчанию (1), упомянутый выше. Какой конструктор будет obj() позвонить?В чем разница между объектом и объектом() в C++

+0

@ Благодарю вас всех за ссылки .. –

ответ

1

A obj(); объявляет функцию с именем obj, которая не принимает аргументов и возвращает A. Он не объявляет объект A вообще.

Поскольку A obj(); не объявляет объект A, это не приводит к вызову конструктора.

+0

Ой так. Благодарю вас ;-). –

0

Второй объявлен как функция. имя функции - obj. Он не принимает аргументов. Он возвращает объект типа A.

+0

Спасибо, Апурв. я понял.. –

Смежные вопросы