강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

패러그래프님의 프로필 이미지
패러그래프

작성한 질문수

홍정모의 따라하며 배우는 C++

9.8 형변환을 오버로딩 하기

9.8 형변환 오버로딩

작성

·

353

·

수정됨

0

강의에서는 int()로 형변환 하셨는데 거기에 char형으로 바꿨는데 형변환이 되지 않습니다 어떻게 해야 형변환이 될까요??

 

 

#include<iostream>

using namespace std;

class Cents

{

int mCents;

public:

Cents(int cents) {

mCents = cents;

}

int getCents()

{

return mCents;

}

void setCents(int cents)

{

mCents = cents;

}

operator char()

{

cout << "cast" << endl;

return mCents;

}

friend std::ostream &operator<<(std::ostream &out, const Cents&cents)

{

out << cents.mCents;

return out;

}

};

int main()

{

Cents cents(98);

 

cout << cents << endl;

cout << char(98) << endl;

}

//operator char인 것과 상관없이?? 멤버변수가 int형이라서 int로만 변환되는건가요??

//아니면 오버로딩이 안된건가요?

 

 

 

답변 1

0

cout << char(98) << endl;

부분에서 실수하신 것이 아닐까 싶습니다.

가령 아래와 같은 예제로 cents를 넘겨야 합니다.

int main()

{

Cents cents(98);

cout << char(cents) << endl;

}
패러그래프님의 프로필 이미지
패러그래프

작성한 질문수

질문하기