C++ 编程中的高级特性与应用
1. 栈与链表
栈在许多应用中非常有价值,并且可以使用链表来实现。栈的操作包括在栈顶添加值(push)、检查或移除栈顶值(pop),以及检查栈是否为空。但我们无法对非栈顶的值进行操作。
1.1 栈操作示例
假设我们三次将值 1、2 和 3 压入栈中,之后只能访问栈顶值 3,而不能访问下面的 1 或 2。
1.2Value方法重载
Value方法有两种重载形式:
- 第一种返回值的引用,可用于修改单元格的值。
- 第二种是常量方法,返回值本身,用于检查常量单元格对象的值。
示例代码如下:
Cell cell1(1, NULL); cell1.Value() = 2; const cell2(2, NULL); int iValue = cell2.Value();也可以使用get/set对来实现相同的功能:
const int GetValue() const {return m_iValue;} void SetValue(int iValue) {m_iValue = iValue;} Cell cell1(1, NULL); cell1.SetValue(2); const cell2(2, NULL);