C++面向对象编程中的关键技术解析
1. 动态多态性
动态多态性,也称为运行时多态性,是面向对象C++编程中最强大的工具之一。它利用运行时虚函数机制,通过基类指针或引用调用派生类的方法。
1.1 示例代码
void led_toggler(led_base* led)
{
// Use dynamic polymorphism to toggle
// a base class pointer.
led->toggle();
}
void do_something()
{
led_toggler(&led0); // Toggle an led_port.
led_toggler(&led1); // Toggle an led_port.
led_toggler(&led2); // Toggle an led_pwm.
led_toggler(&led3); // Toggle an led_pwm.
}
在上述代码中, led_toggler() 函数使用基类指针 led_base* 实现动态多态性,调用两种不同类型LED对象( led_port 和 led_pwm )的 toggle() 函数。虚函数机制在运行时选择正确的 toggle() 函数,编译器会自动生成少量目标代码。
超级会员免费看
订阅专栏 解锁全文
1万+

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



