C++ 多态的定义及实现
发布日期:2021-06-29 18:53:15
浏览次数:2
分类:技术文章
本文共 1561 字,大约阅读时间需要 5 分钟。
文章目录
C++ 多态的定义及实现
1. 多态定义的构成条件
- 多态是在不同继承关系的类对象,去调同一函数,产生不同行为。
- 有一对继承关系的两个类,
- 这两个类里面都有一个函数且名字、参数、返回值均相同,
- 然后我们通过调用函数来实现不同类对象完成不同的事件。
- 构成多态还有两个条件:
- 调用函数的对象必须是指针或引用
- 被调用的函数必须是虚函数,且完成了虚函数的重写
#includeclass Person{ public: virtual void BuyTicket(int a) { std::cout << "Adult need Full Fare!" << std::endl; }};class Child : public Person{ public: virtual void BuyTicket(int a) { std::cout << "Child Free!" << std::endl; }};void fun(Person& obj){ obj.BuyTicket(1);}int main(void){ Person p; Child c; p.BuyTicket(123); c.BuyTicket(12); fun(p); fun(c); return 0;}
#includeclass Person{ public: void BuyTicket(int a) { std::cout << "Adult need Full Fare!" << std::endl; }};class Child : public Person{ public: void BuyTicket(int a) { std::cout << "Child Free!" << std::endl; }};void fun(Person& obj){ obj.BuyTicket(1);}int main(void){ Person p; Child c; p.BuyTicket(123); c.BuyTicket(12); fun(p); fun(c); return 0;}
- 要是把指针换成类呢???
- 那就没有这种效果了!
#includeclass Person{ public: void BuyTicket(int a) { std::cout << "Adult need Full Fare!" << std::endl; }};class Child : public Person{ public: void BuyTicket(int a) { std::cout << "Child Free!" << std::endl; }};void fun(Person obj){ obj.BuyTicket(1);}int main(void){ Person p; Child c; p.BuyTicket(123); c.BuyTicket(12); fun(p); fun(c); return 0;}
No End!
canister
转载地址:https://cyj666.blog.csdn.net/article/details/108318059 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年05月02日 22时43分55秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java JDK 1.5后的变量声明与赋值支持
2019-04-30
Java 整型
2019-04-30
Java 整型数据溢出探索 计算结果值
2019-04-30
Java 浮点型
2019-04-30
Java 整型除法
2019-04-30
Java 使用var关键字
2019-04-30
Java 字符型
2019-04-30
Java 布尔类型 boolean
2019-04-30
Java String字符串
2019-04-30
Java ++a 与 a++
2019-04-30
Java 关系运算符
2019-04-30
Java 三目运算符
2019-04-30
Java 逻辑运算符
2019-04-30
什么是数据库?
2019-04-30
MySQL 简介
2019-04-30
SQL语言
2019-04-30
数据库访问接口
2019-04-30
启动 MySQL服务
2019-04-30
登录MySQL数据库
2019-04-30
MySQL 常用图形管理工具
2019-04-30