(이 글은 2007년 1월 16일에 DokuWiki 에서 작성된 http://j.strane.net/dokuwiki/blog/2007/c_labyrinth_1 를 WordPress 로 옮긴 것입니다.)
Code
#include <iostream>
#include <string>
using namespace std;
class A
{
public:
A () {};
operator string() { return "It's A!"; };
};
class B
{
public:
B () {};
B (const A& temp) {};
operator string() { return "It's B!"; };
};
int main()
{
A a;
B b;
string sTemp = (true ? a : b);
cout < < "What do you expect?" << endl;
cout << "Unfortunately, " << sTemp << endl;
return 0;
}
Question
위 코드를 실행했을 때 예상되는 출력 결과는 무엇일까요?
- 위 코드는 gcc 3.3.5 에서 -Wall 옵션으로 워닝이나 에러없이 컴파일됩니다.
- 리플에 정답이나 힌트가 올라올 수 있습니다. 여기까지 읽으셨다면 문제에 필요한 내용은 다 읽으신 것이니 곰곰이 생각해보시거나 컴파일하고 돌려보신 후에 더 읽기를 눌러주세요.

Recent Comments