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

38 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 基类和扩展类关系研究
验证问题:基类和扩展类之间变量、函数、重载、虚拟方法等之间的关系是怎样的,要如何理解。
结论:类由变量和函数组成,扩展类可以理解在基类的基础上增加了一个类。但是有几点需要注意:
* 基类和扩展类的**变量空间彼此独立**,即使同名。
* 基类和扩展类的**函数空间彼此独立**,即使同名。
* 基类函数只能访问基类变量,扩展类函数只能访问扩展类变量。
* **基类访问扩展类变量的唯一方法就是使用重载后的函数(虚拟方法)。**
* **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
```