📄 #5_ver2.cpp
字号:
#include <stdio.h>
class animal {
public:
virtual void identify() { printf("%s\n", "animal"); }
};
class mammal : public animal {
public:
void identify() { printf("%s\n", "mammal"); }
};
class bird : public animal {
public:
void identify() { printf("%s\n", "bird"); }
};
class dog : public mammal {
public:
void identify() { printf("%s\n", "dog"); }
};
class eagle : public bird {
public:
void identify() { printf("%s\n", "eagle"); }
};
void print1(void), print2(void), print3(void);
main()
{
print1();
print2();
print3();
}
void print1()
{
animal *ap = new animal; ap->identify();
mammal *mp = new mammal; mp->identify();
bird *bp = new bird; bp->identify();
dog *dp = new dog; dp->identify();
eagle *ep = new eagle; ep->identify();
printf("\n");
}
void print2()
{
animal *ap = new animal;
ap->identify();
((mammal *) ap)->identify();
mammal *mp = (mammal *) ap;
mp->identify();
printf("\n");
}
void print3()
{
animal a, *ap = &a;
mammal m;
eagle e;
ap->identify();
ap = &m;
ap->identify();
printf("\n");
}
/* output:
animal
mammal
bird
dog
eagle
animal
animal
animal
animal
mammal
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -