클래스 생성자 관해서 질문이 있는데요
글쓴이: infoefficiency / 작성시간: 수, 2013/07/31 - 11:27오전
예를 들어서
class func({
public:
func(){}
func(......){.......}
.....
};
연산자 오버로딩 관련한 예제인데요
처음에 func(){} 같은 생성자를 항상 선언하던데 선언하는 이유가 뭔지 정확하게 잘 모르겠어요 ...ㅠㅠ
설명좀 부탁드립니다
감사합니다
Forums:
그리고 또 하나더 궁금한게 있는데요 ㅠㅠ
class Complex{
private:
double real;
double image;
public:
Complex(){}
Complex(double r, double i) : real(r), image(i){}
...
해서 하는 클래스 인데요 중간에(real(r) 앞 )콜론이 왜 쓰인건지도 모르겠네요
기초가 너무 부족하네요 ㅠㅠ
콜론 초기화라고 합니다. 구글에서 한번 찾아보세요.
콜론 초기화라고 합니다. 구글에서 한번 찾아보세요.
생성자를 하나도 선언하지 않으면 컴파일러가 기본으로
생성자를 하나도 선언하지 않으면 컴파일러가 기본으로 넣어주는게 func() {} 같은 기본 생성자입니다.
그런데 생성자를 한개라도 선언을 하면 기본 생성자는 자동으로 들어가지 않습니다.
이경우에 기본 생성자가 필요하다면 예제처럼 별도로 선언해주어야 합니다.
댓글 달기