Programing/C/C++2012.07.12 15:20

#include <stdio.h>


class Human {

public:

        int age;


        virtual void printme() {

                printf("age human: %d\n", age);

        }

};


class Person : public Human {

        virtual void printme() {

                printf("age Person: %d\n", age);

        }

};


class Monkey {

public:

        int age;

        int position;   


        virtual void printme() {

                printf("age monkey: %d\n", age);

        }

};


int main() {

        // unpredictable

        Human* human = new Human();

        Monkey* monkey = (Monkey*) human;


        human->age=100;

        printf("monkey?? age??: %d\n",monkey->age);

        monkey->printme();


        // predictable

        human = new Person();

        human->printme();


        return 0;

}



결과
monkey?? age??: 100
age human: 100
age Person: 0

'Programing > C/C++' 카테고리의 다른 글

자료 오버 플로우 실험  (0) 2012.07.12
메모리 최소 접근 가능  (0) 2012.07.12
C++에서는 되는 캐스팅(형변환) 기법  (0) 2012.07.12
메모리 주소 엑세스 관련 간단 예제  (0) 2012.05.10
Circula Queue(String)  (0) 2012.05.10
Posted by ned3y2k