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

A obj;        // (2) instantiating obj 

A obj();        // (3) 

objobj()의 인스턴스 생성의 차이점은 무엇입니까? obj은 위에서 언급 한 기본 생성자 (1)를 호출합니다. 어떤 생성자가 obj()에 전화 할 예정입니까?C++에서 object와 object()의 차이점은 무엇입니까

+0

@ 모든 링크에 감사드립니다. –

답변

1

A obj();obj이라는 함수를 선언하며 인수는없고 A을 반환합니다. A 개체를 전혀 선언하지 않습니다.

A obj();A 개체를 선언하지 않으므로 생성자 호출이 발생하지 않습니다.

+0

오 그런 식으로. 고맙습니다 ;-). –

0

두 번째 것은 함수로 선언됩니다. 함수의 이름은 obj입니다. 아무런 논쟁도 없습니다. 그것은 타입 A의 객체를 반환합니다.

+0

Apurv에 감사드립니다. 나는 그것을 얻었다. .. –