首页 > 其他分享 >重载为什么一定要指针才行呢?请专家解答下

重载为什么一定要指针才行呢?请专家解答下

时间:2022-11-17 21:13:47浏览次数:40  
标签:才行 void print 重载 include 指针

请教专家,为什么下面的代码都是输出 A类的方法,而采用指针才能达到重载的目的。

 1 #include <endian.h>
 2 #include <iostream>
 3 using namespace std;
 4 
 5 class A
 6 {
 7     public: virtual void print(void)
 8     {
 9         cout << "A:print" <<endl;
10     }
11 };
12 class B :public A
13 {
14     public:  void  print (void) override
15     {
16         cout << "B:print" <<endl;
17     }
18 };
19 
20 void print (A a)
21 {
22     a.print();
23 }
24 void print (A *a)
25 {
26     a->print();
27 }
28 int main()
29 {
30 
31     A a;B b;
32     a.print(); //A:print
33     b.print(); //B:print
34 
35     print(a);  //A:print
36     print(b);  //A:print   为什么这里还是打印的A:print???
37 
38     print(&a);  //A:print
39     print(&b);  //B:print  重载了,所以打印子类的
40     
41     A *c = new B();
42     c->print(); //B:print
43     delete c;
44 
45 
46 }

 

标签:才行,void,print,重载,include,指针
From: https://www.cnblogs.com/xhu218/p/16900956.html

相关文章

  • C语言的灵魂——指针
    相关视频——强烈推荐【强烈推荐】4小时彻底掌握C指针-顶尖程序员图文讲解-UP主亲自翻译校对(已完结)_哔哩哔哩(゜-゜)つロ干杯~-bilibili我的小站——半生瓜のblog......
  • 数组指针和指针数组?
    首先,理解一下数组指针和指针数组这两个名词:“数组指针”和“指针数组”,只要在名词中间加上“的”字,就知道中心了——数组的指针:是一个指针,什么样的指针呢?指向数组的指针......
  • 代码随想录day1补充之LeetCode27移除元素相向双指针法&补充题目---LeetCode35搜索插入
    1.LeetCode27移除元素题是晚上刷的,今天看发现第一天的题目只写了快慢指针法(见链接Day1),现补充练习实现相向双指针法。分析:相向双指针法是指使用左右指针,左指针寻找需要移......
  • C++:将char*指针强制转换成一个指向结构体的指针
    在使用Socket与雷达进行通信采集数据时,会遇到“打包与解包”的问题,在打包和解包过程中,会涉及到结构体指针与字符指针间的强制转换。如下:打包就是将包头与信息封装成一定大......
  • 数组指针强制转换为结构体指针
    前两天在看TI官方提供的BasicRF的源码时,发现一个看不懂的地方,就是将一个数组名强制转换为结构体指针,如下所示。   在上面的图片中,basicRfPktHdr_t是一个结构体,rxM......
  • 方法的重载
    方法名字相同,参数不同,就构成了方法的重载1usingSystem;23namespace练习4{5classProgram6{7staticvoidMain(string[]args)8......
  • 287. 寻找重复数 ----- 快慢指针
    给定一个包含 n+1个整数的数组 nums,其数字都在 [1,n] 范围内(包括1和n),可知至少存在一个重复的整数。假设nums只有一个重复的整数,返回 这个重复的数。你......
  • 第8章 指针(笔记)
    8.1简介何时使用指针和如何正确使用指针8.2指针变量的声明和初始化声明:类型* 变量名;8.3指针运算符&8.4使用指针的按引用传递方式传递前后类型相符8.5内置数......
  • 函数指针和指针函数
    函数指针和指针函数的区别一、函数指针本质上是一个指针,它指向的是一个函数的地址。1.如何定义一个函数指针:void(*p2)(inta,intb);函数指针是专用的。格式要求很......
  • 141. 环形链表 ----- 哈希表、逆向思维、快慢指针
    给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整......