正在加载图片...
。存在的问题 数据类型的定义与操作的定义是分开的,二者之间 没有显式的联系,push、pop在形式上与下面的函 数f没有区别,函数f也能作用于st: void f(Stack &s){......} f(st);/操作st之后,st可能不再是一个“栈”了! ·数据表示仍然是公开的,无法防止使用者直接操作 栈数据,因此也会面临直接操作栈数据所带来的问 题: st.top--; st.buffer[st.top]12; 忘了初始化:init(st);• 存在的问题 ◼ 数据类型的定义与操作的定义是分开的,二者之间 没有显式的联系,push、pop在形式上与下面的函 数f没有区别,函数f也能作用于st: void f(Stack &s) { ...... } f(st); //操作st之后,st可能不再是一个“栈”了! ◼ 数据表示仍然是公开的,无法防止使用者直接操作 栈数据,因此也会面临直接操作栈数据所带来的问 题: st.top--; st.buffer[st.top] = 12; ◼ 忘了初始化:init(st);
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有