2014-11-27 1 views
-1

"사용자"클래스의 개체를 만들 때 메시지가 생성자를 포함하여 인쇄되지 않기 때문에 이해가 안됩니다. users 클래스의 객체를 선언하지 않는생성자가 실행되지 않습니다

class users 
{ 
public: 
    users(); 
private: 
    int i; 
}; 
users::users() 
{ 
    cout<<"hello world"; 
} 
int main() 
{ 
    users users1(); 
    return 0; 
} 
+1

"사용자 클래스"의 객체를 만들지 않습니다. –

+1

http://en.wikipedia.org/wiki/Most_vexing_parse –

+0

Google "bdfl" C++에는 하나가 필요합니다. –

답변

2
users users1(); 

, 그것은 인수를하지 않으며 users 클래스의 객체를 반환하는 함수를 선언합니다. 객체를 선언하려면, 사용

users users1; 
+1

또는'users users1 {};'. – Deduplicator

0
class users 
{ 
public: 
    users(); 
private: 
    int i; 
}; 
users::users() 
{ 
    cout<<"hello world"; 
} 
int main() 
{ 
    users users1; // either you use this 
    users* user2 = new users(); // or you do this 
    return 0; 
} 

이 나를 위해 잘 일했다. here