C++ 多态性深入解析:从虚拟方法到抽象数据类型
1. 虚拟方法与虚拟拷贝构造函数
在 C++ 编程中,虚拟方法是实现多态性的关键。通过在基类中声明虚拟方法,派生类可以重写这些方法,从而实现不同的行为。例如,在一个动物类的层次结构中, Mammal 类可以作为基类, Dog 和 Cat 类作为派生类。
1.1 代码示例
for (i = 0; i<NumAnimalTypes; i++)
{
std::cout << “(1)dog (2)cat (3)Mammal: “;
std::cin >> choice;
switch (choice)
{
case DOG:
ptr = new Dog;
break;
case CAT:
ptr = new Cat;
break;
default:
ptr = new Mammal;
break;
}
theArray[i] = ptr;
}
Mammal *OtherArray[NumAnimalTypes];
for (i=0;i<NumAnimalTypes;i++)
{
theArray[i]->Speak();
OtherArray[i] = theArray[i]->Clone();
}
for (i=0;i<NumAnimalTypes
超级会员免费看
订阅专栏 解锁全文
4519

被折叠的 条评论
为什么被折叠?



