下面通过分别用C和C++来实现一个链栈(链表实现),从中体会数据封装抽象的思想:
C语言实现:
1 |
#include <stdio.h>
#include <stdlib.h> #include <assert.h> struct Link struct Stack void StackInit( void StackPush( int StackEmpty( int StackPop( struct Link *tmp = stack->head; return void StackCleanup( stack->size = int main( while (!StackEmpty(&stack)) return |
C++实现:
1 |
#include <iostream>
using namespace std; class Stack } public: } ~Stack() void Push( bool Empty() bool Pop( Link *tmp = head_; return private: // 避免名称冲突 int main( while (!stack.Empty()) cout << endl; return |
输出都是一致的,对比不同的写法,可以体会两种语言的一些不同之处,当然这只是比较显而易见的方面了。