C++ 클래스 생성 관련 문법 질문입니다.

cococo의 이미지

안녕하십니까. 날씨덥네요.

C++ 코드를 보다가 생소한 문법이 나와서 질문드려 봅니다.

class mp3Writer: public IReceiver {
private:
CMP3Simple m_mp3Enc;
FILE *f;

public:
mp3Writer(unsigned int bitrate = 128, unsigned int finalSimpleRate = 0): m_mp3Enc(bitrate, 44100, finalSimpleRate) {
f = fopen("music.mp3", "wb");
if (f == NULL) throw "Can't create MP3 file.";
};

~mp3Writer() {
fclose(f);
};

...(생략)...
};

위의

mp3Writer(unsigned int bitrate = 128, unsigned int finalSimpleRate = 0): m_mp3Enc(bitrate, 44100, finalSimpleRate)
{
f = fopen("music.mp3", "wb");
if (f == NULL) throw "Can't create MP3 file.";
};

부분이 궁금한데요.

1. 분위기로 봐서 상속 같기는 한데, 상속할 때

m_mp3Enc(bitrate, 44100, finalSimpleRate) {

처럼 클래스에 인자값을 전달하는 게 가능한가요?

2. 인자값을 선언할 때

m_mp3Enc( int bitrate, int frequency ) {

이런식으로 안하고,

m_mp3Enc(bitrate, 44100, finalSimpleRate) {

처럼 값을 직접 써 주는게 가능한가요?

3. 혹시 m_mp3Enc 가 class가 아니고 function 인가요?

그래서 m_mp3Enc() 를 실행하면 class 가 리턴되고, 그걸 상속값으로 받는것?

4.
{
f = fopen("music.mp3", "wb");
if (f == NULL) throw "Can't create MP3 file.";
};

부분은 mp3Writer 객체에 대한 선언인가요?
아니면 m_mp3Enc 객체에 대한 선언인가요?

고견 혹은 의견 어느것이나 감사합니다.

이상입니다. 좋은 하루 되시기 바랍니다.

cococo의 이미지

xylosper 님. 답변 감사드립니다.

간단한거였군요. 찾아보니 바로 나오네요.

이상입니다. 모두들 좋은 하루 되시기 바랍니다.