-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
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¢s)
{
out << cents.mCents;
return out;
}
};
int main()
{
Cents cents(98);
cout << cents << endl;
cout << char(98) << endl;
}
//operator char인 것과 상관없이?? 멤버변수가 int형이라서 int로만 변환되는건가요??
//아니면 오버로딩이 안된건가요?
답변을 작성해보세요.
0
강민철
2022.12.28
cout << char(98) << endl;
부분에서 실수하신 것이 아닐까 싶습니다.
가령 아래와 같은 예제로 cents를 넘겨야 합니다.
int main()
{
Cents cents(98);
cout << char(cents) << endl;
}
답변 1