• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

9.8 형변환 오버로딩

22.12.26 23:40 작성 22.12.26 23:59 수정 조회수 233

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

강민철님의 프로필

강민철

2022.12.28

cout << char(98) << endl;

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

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

int main()

{

Cents cents(98);

cout << char(cents) << endl;

}