생성자

constructor

생성자(constructor) 개요

생성자는 인스턴스 생성 시 초기화를 위해 사용한다. 생성자의 이름은 클래스 이름과 동일하게 준다. 생성자는 오버로딩이 가능하다. 생성자는 return type을 가질 수 없다.

생성자(constructor) 예제

실습 예제

ch07ex7_instructor1.cpp

class Bread
{
public:
	Bread(string _mat, int _num)
	{
		material = _mat;
		number = _num;
	}

private:
	string material;
	int number;
};

/* 
1. b1 인스턴스: "생크림" 재료의 빵 10개
2. b2 인스턴스: "초코" 재료의 빵 5개
3. display() 메서드 생성
   재료: 생크림
   개수: 10개
4. setNumber(n) 메서드: 빵 개수만 수정
5. getNumber() 메서드: 빵 개수
6. 재료를 변경, 얻어 올 수 있도록 메서드 추가하기
*/

생성자 오버로딩(constructor overloading) 예제

ch07ex7_instructor2.cpp

위임 생성자(delegating constructors)

생성자에서 다른 생성자를 호출해 초기화 할 수 있다.

ch07ex7_instructor3.cpp

실습 문제

ch07lab6_Triangle.cpp

생성자를 포함한 Triangle 클래스를 작성하시오.

아래 요구사항을 모두 만족하는 Triangle 클래스를 만들고, main()에서 객체를 생성하여 기능을 테스트하시오.


1. 멤버 변수 (private)

  • double base : 삼각형의 밑변

  • double height : 삼각형의 높이


2. 생성자 (public)

생성자 조건

  • _base 값으로 base 초기화

  • _height 값으로 height 초기화

  • 둘 중 하나라도 0 이하일 경우

    • base = 1

    • height = 1


3. 멤버 함수 (public)

double getArea() const

void display() const


4. main()

Last updated