생성자를 public
으로 선언하는 이유는 무엇입니까?C++ language oops
1
A
답변
1
아래 코드 줄에서 초기화는 생성자를 통해 이루어져야합니다. 이 경우 생성자가 private
인 경우 클래스 범위 외부에서 어떻게 액세스 할 것입니까? 또한 foo::foo(int num)
은 인스턴스화가 obj
인 동안 기본적으로 호출됩니다.
foo *obj = new foo(5);
1
다른 개체에서 개체를 구성 할 수 없습니다.
+3
필요하지 않습니다. 개인 또는 보호 된 생성자 및 개체의 복사본을 반환하는 public static 메서드 (또는 friend 함수)를 가질 수 있습니다. –
2
생성자는 객체를 만드는 방법입니다. 생성자가 공개되지 않은 경우 클래스 외부에서 새 객체를 생성하는 데 사용할 수 없습니다. 때때로 비 public 생성자 예를 들어, 유용
참고 :
class foo
{
public:
static foo make_foo(int i)
{
// only functions of foo can use that constructor,
// because it's private; return a foo
return foo(i);
}
private:
foo(int i) { /* construct */ }
};
은 이제 foo
은 어떤 이유로 든 기능 make_foo
를 통해 생성 할 수 있습니다.
관련 문제
- 1. C# OOPs 아키텍처 문제
- 2. Sub Language C#
- 3. OOPs 명확화
- 4. 오라클에서 OOPS 구현
- 5. 디자인 클래스 - OOPS 기능
- 6. OOPS 및 ADO.Net
- 7. OOPS (디자인 패턴)
- 8. Java OOPS 주차장 예 디자인
- 9. 삭제 된 사용자 'postgres'- oops
- 10. XSLT for Declarative Language
- 11. Jasper Domain Query Language
- 12. Jira Query Language ("bug")
- 13. Erlang Scripting Language Interpreter
- 14. Rails ActiveRecord 모델의 "language"속성
- 15. ADL (Architectural Description Language) 사용법?
- 16. DGML (Directed Graph Markup Language)
- 17. 왜 최종 출력은 0이다 : OOPS 샘플
- 18. oops - 파이어 폭스의 귀신 탭 박스
- 19. <% @ Page Language = "C#"%>에 의한 구문 오류입니까? ASP.Net
- 20. GCC의 이전 버전에서 C++/Fortran inter language ABI 문제가 있습니다.
- 21. ASP를 처음 접했습니다. <% @ Page Language = ""%%
- 22. COM 임베디드 IE에서 Accept-Language 설정
- 23. Facebook Markup Language 및 .NET MVC 2.0
- 24. Django가 Accept-Language 헤더를 무시하는 이유는 무엇입니까?
- 25. CakePHP의 설정 파일에 "language"라는 필드가있는 이유
- 26. 애플릿에서 요청시 Accept-Language 헤더를 설정하는 방법
- 27. Ruby에서 "Semi-Natural Language"DSL 작성하기
- 28. Django에서 language column = "null"을 어떻게 필터링합니까?
- 29. 드루팔 (Drupal language-switcher) 접두사를 추가하지 않았습니다.
- 30. PHP의 올바른 사용 : header ('Content-language : ...');
이것이 왜 닫혀 야하는지 알 수 없습니다. 매우 간단하고 기본적인 질문이지만 명확히 특정 답변이있는 프로그래밍과 관련된 질문입니다. – oezi
oezi/agree. 요즘 stackoverflow 너무 까다롭게지고 .. –