从零开始学C++之数据封装与抽象:分别用C和C++来实现一个链栈
下面通过分别用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 |
输出都是一致的,对比不同的写法,可以体会两种语言的一些不同之处,当然这只是比较显而易见的方面了。
最新文章
- java环境搭建和写出一个Helloworld
- go 数据类型转换
- TestNG官方文档中文版(4)-运行TestNG
- java.sql.SQLException: 无效的列索引
- css3 github javascript
- SAP ALV显示并打印(非OO方式)
- linux特殊符号大全
- Ztree异步加载自动展开节点
- 淘宝设计师入门:设计师SDK环境配置
- 前端项目经验总结之js防缓存(避免缓存的影响)
- nodejs-POST数据处理
- C语言--第01次作业
- mysql导入自定义函数不成功的解决方法
- VS Code对.NET Core项目持续的Build
- ElementUI 按需引入坑爹的点记录
- led灯的驱动电流和电阻
- Hibernate 中的锁( locking )
- hdu 5037 周期优化
- oracle sql 命令类别
- 用vue实现百度搜索功能
热门文章
- java 文件类操作(转载)
- Windows命令行语法说明
- HIVE编程指南之HiveQL的学习笔记1
- BZOJ 1711: [Usaco2007 Open]Dingin吃饭
- 【UVA 10816】 Travel in Desert (最小瓶颈树+最短路)
- SPRING IN ACTION 第4版笔记-第二章-003-以Java形式注入Bean、@Bean的用法
- php Laravel 框架 介绍及安装
- ActivityManager的使用
- Linux无线网络设置(wpa_supplicant的使用)
- HDU- Who Gets the Most Candies?