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 님. 답변 감사드립니다.
간단한거였군요. 찾아보니 바로 나오네요.
이상입니다. 모두들 좋은 하루 되시기 바랍니다.
댓글 달기