C++ 클래스 생성 관련 문법 질문입니다.
안녕하십니까. 날씨덥네요.
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 객체에 대한 선언인가요?
고견 혹은 의견 어느것이나 감사합니다.
이상입니다. 좋은 하루 되시기 바랍니다.


답변 감사드립니다.
xylosper 님. 답변 감사드립니다.
간단한거였군요. 찾아보니 바로 나오네요.
이상입니다. 모두들 좋은 하루 되시기 바랍니다.