7.31(화) C++ - 가상함수 활용하기

from Study/C++ 2007/08/02 14:34 view 22264

// 라이브러리내의모든클래스를표준출력과연계해서출력해보고싶다.

#include <string>

 

// 가상함수가아닌것을가상함수처럼보이게하기.

class object

{

public:

 

        virtual string ToString() const

        {

               return string("object");

        }

 

        friend ostream& operator<<( ostream& os, const object& o )

        {

               return os << o.ToString();

        }

};

 

class Point : public object

{

public:

        virtual string ToString() const

        {

               return string("Point");

        }

};

 

void main()

{

        object* pp = new Point;

        cout << *pp << endl;

 

        object o;

        cout << o << endl;

 

        Point p;

        cout << p << endl;

}

Tag |

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다