sv_lab/4_class/ReadMe.md
2025-03-19 16:47:38 +08:00

1.5 KiB
Raw Blame History

基类和扩展类关系研究

验证问题:基类和扩展类之间变量、函数、重载、虚拟方法等之间的关系是怎样的,要如何理解。

结论:类由变量和函数组成,扩展类可以理解在基类的基础上增加了一个类。但是有几点需要注意:

  • 基类和扩展类的变量空间彼此独立,即使同名。
  • 基类和扩展类的函数空间彼此独立,即使同名。
  • 基类函数只能访问基类变量,扩展类函数只能访问扩展类变量。
  • 基类访问扩展类变量的唯一方法就是使用重载后的函数(虚拟方法)。
  • virtual声明的函数会覆盖父类中的同名函数。

快速开始

make all

输入结果

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