From e0a07ac5568000cfd85f5510617b97134f8e8386 Mon Sep 17 00:00:00 2001 From: fengbh <1953356163@qq.com> Date: Wed, 19 Mar 2025 16:47:38 +0800 Subject: [PATCH] add ReadMe --- 4_class/ReadMe.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 4_class/ReadMe.md diff --git a/4_class/ReadMe.md b/4_class/ReadMe.md new file mode 100644 index 0000000..cbef510 --- /dev/null +++ b/4_class/ReadMe.md @@ -0,0 +1,38 @@ +# 基类和扩展类关系研究 + +验证问题:基类和扩展类之间变量、函数、重载、虚拟方法等之间的关系是怎样的,要如何理解。 + +结论:类由变量和函数组成,扩展类可以理解在基类的基础上增加了一个类。但是有几点需要注意: + +* 基类和扩展类的**变量空间彼此独立**,即使同名。 +* 基类和扩展类的**函数空间彼此独立**,即使同名。 +* 基类函数只能访问基类变量,扩展类函数只能访问扩展类变量。 +* **基类访问扩展类变量的唯一方法就是使用重载后的函数(虚拟方法)。** +* **virtual声明的函数,会覆盖父类中的同名函数。**。 + +## 快速开始 + +```bash +make all +``` + +### 输入结果 +```text +Chronologic VCS simulator copyright 1991-2018 +Contains Synopsys proprietary information. +Compiler version O-2018.09-SP2_Full64; Runtime version O-2018.09-SP2_Full64; Mar 19 16:29 2025 +//******************** P1.print ******************** +[tb.\BasePacket::printA ] A is 1 +[tb.\My_Packet::printB ] B is 5 +[tb.\BasePacket::printC ] C is 3 +//************************************************** +//******************** P2.print ******************** +[tb.\BasePacket::printA ] A is 1 +[tb.\My_Packet::printB ] B is 5 +[tb.\My_Packet::printC ] C is 6 +//************************************************** + V C S S i m u l a t i o n R e p o r t +Time: 0 ps +CPU Time: 0.130 seconds; Data structure size: 0.0Mb +Wed Mar 19 16:29:22 2025 +``` \ No newline at end of file