C++ 虚函数
2021-04-07 22:27
标签:rtu 复用 代码 实现 UNC 批评 简单的 通过 一个 C++ 虚函数是为实现多态而设计的。 上述代码,sub/sub2继承base,函数show为虚函数。 即通过一个接口,分别分别调到了不同对象的函数 所以这就是多态的机制,即一个接口实现多种形态。 C++ 虚函数 标签:rtu 复用 代码 实现 UNC 批评 简单的 通过 一个 原文地址:https://www.cnblogs.com/wangdongfang/p/13381218.html
多态最核心的概念就是可以通过父类指针指向子类对象。
多态最大的特点就是接口复用,即一个接口实现多种用途。
先用简单的例子说明class base {
public:
base(){};
virtual ~base(){};
public:
virtual void show()
{
printf("i am base\n");
}
};
class sub : public base {
public:
sub(){};
virtual ~sub(){};
public:
void show()
{
printf("i am sub\n");
}
};
class sub2 : public base {
public:
sub2(){};
virtual ~sub2(){};
public:
void show()
{
printf("i am sub2\n");
}
};
#include
函数callFunc通过父类指针ptr调用参数的show函数,由于输入的参数分别是base/sub/sub2的对象,所以上述程序的输出是:i am base
i am sub
i am sub2
如果没有虚函数机制,要想实现上述同样的功能,需要实现三个callFunc函数 void callFunc1(base *ptr)
void callFunc2(sub *ptr)
void callFunc3(sub2 *ptr)
以上只是自己的简单理解,其实多态远不止上述功能,其他自己还没有理解到,有理解有误的地方还请大家批评指正。
上一篇:使用lambda求数组和
下一篇:RT-Thread代码_线程创建