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