C++

[class] C++ - Constructors (생성자)

841
목차
  1. Constructors (생성자)
  2. Constructor Parameters (생성자 매개변수)

 

Constructors (생성자)

 

객체의 속성 초기화에 사용되는 특수 메서드.

 


 

※ 클래스의 객체가 생성될 때 자동 호출됨.

※ 객체의 속성 초기값 설정에 사용 가능.

※ 생성자명은 클래스명과 동일해야하며, public 이여야 함.

※ 반환값 없음. (void 처럼.)

 


[예제]  

 

#include <iostream>

using namespace std;


class Hz {

  public:

    Hz() { // 생성자

      cout << "홈짱닷컴 Homzzang.com";

    }

};


int main() {

  Hz myObj; // 객체 생성 시, 생성자 자동 호출.

  return 0;

}

 

결과값: 홈짱닷컴 Homzzang.com

PS. 한글 깨지는 경우, 여기 맨 하단 참고.

 

Constructor Parameters (생성자 매개변수)

 

1.

생성자는 속성 초기값 설정 위해 매개변수를 원하는 만큼 보유 가능.


2.

생성자 내용 정의는 :: (범위 연산자) 이용해 클래스 밖에서도 가능. (예제2) 

 


[예제1] - 클래스 「안」에서 생성자 내용 정의.

 

#include <iostream>

using namespace std;

 

class Hz {

  public:

    string host;

    int year;

    Hz(string hostName, int openYear) { // 생성자

      host = hostName;

      year = openYear;

    }

};


int main() {

  Hz my("홈짱닷컴 Homzzang.com", 2012); // 객체 생성

  cout << my.host << " (" << my.year << ")\n";

  return 0;

}

 

결과값: Homzzang.com (2012) 

[예제2] 클래스 「밖」에서 생성자 내용 정의.

 

#include <iostream>

using namespace std;


class Hz {

  public:

    string host;

    int year;

    Hz(string hostName, int openYear); // 생성자 선언

};


Hz::Hz(string hostName, int openYear) { // 생성자 정의

  host = hostName;

  year = openYear;

}


int main() {

  Hz my("홈짱닷컴 Homzzang.com", 2012); // 객체 생성

  cout << my.host << " (" << my.year << ")\n";

  return 0;

}

 

결과값: Homzzang.com (2012)



분류 제목
class C++ - OOP (객체 지향 프로그래밍)
class C++ - Class (클래스) / Object (객체)
class C++ - Class Methods (클래스 메서드)
class C++ - Constructors (생성자)
class C++ - Access Specifiers (접근지정자)
class C++ - Encapsulation (캡슐화)
class C++ - Inheritance (상속)
class C++ - Polymorphism (다형성)
class C++ - Files (파일) - 파일생성/파일읽기/파일쓰기
class C++ - Exceptions (= Try...Catch..) - 에러 제어
목록
  • 채팅방
  • 필독
1. 채팅창 헤드에서 접속자 확인 2. 닉네임 클릭해 1:1 채팅 가능 3. 닉네임 클릭해 귓속말 가능 4. 닉네임 클릭해 호출하기 가능 5. 우하단 클릭해 환경 설정 가능 6. 의뢰글 작성 후 의뢰 상담 가능 7. 질문글 작성 후 질문 상담 가능 8. 채팅방에 개인정보 입력 금지 9. 채팅방에 광고 욕설 비방 금지
 홈  PC버전 로그인 일본어
웹디자인언어
서버관리언어
고급코딩언어
그누보드
제작의뢰
Q&A
커뮤니티 1
웹유틸
회원센터
홈짱 PC버전 로그인