struct,class,template的用法
来源:互联网 发布:淘宝装修视频代码 编辑:程序博客网 时间:2024/05/22 08:07
在C语言中,结构体有两种定义方法:struct 和 class。
它们的相同之处:它们都可以有成员函数、过程。
不同之处:
struct里面定义的东西都是可见的,而class却不完全是
class内部定义的东西可以选择公开(可见)还是非公开(不可见)。
它们的大体用法:
struct:
struct xx{ xxxxx(内部变量) xxxxx(内部函数、过程)};xx a;
class:
class xx{ public: xxxx(可见变量) xxxx(可见函数、过程) private: xxxx(不可见变量) xxxx(不可见函数、过程)}xx a;
C++有一个功能是 template < class T>(T可以是任意自己取的名字)
它可以做到不同类型的变量的同样的操作只写一个函数/过程就ok了,例如写一个可以不同类型操作的a+b程序:
#include<iostream>#include<algorithm>using namespace std;template<class T>T he(T a,T b){//这是a+b的函数 return a+b;}int main(){ //主函数略}
在这里,T可以代表任意可以用来做加法的类型。
再例如STL algorithm库里的min,它的源代码是:
template<class T>T min(T a,T b){ return a<b?a:b;}
注意:不能在写了using namespace std;后或是开了algorithm库后在主程序内这么写,似乎会编译错误。
T可以是struct结构体,也可以是class。
显然,像stack、queue、priority_queue、vector之类的这些东西在STL源代码里是用class写的(很明显好吗)。
2 0
- struct,class,template的用法
- template class struct
- C# class和struct的区别和用法
- Class Struct 的区别
- template 的用法
- template 的用法
- template 的 用法
- 关于template的用法
- Live Template的用法
- struct和class的区别
- struct和class的区别- -
- struct 和 class的异同?
- struct与class的区别
- class struct union 的区别
- struct和class的区别
- class和struct 的异同
- struct和class的关系
- class和struct的区别
- Qt杂项(转)
- OK6410之UBOOT增加TFTP传送烧写IMAEG功能
- Windows下使用Sublime Text 3调试/运行 C/C++ 程序
- 插入排序-Shell排序
- NBOJv2——Problem 1002: 蛤玮的财宝(多线程DP)
- struct,class,template的用法
- 交换排序-冒泡排序
- Deep Learning Trends @ ICLR 2016:深度学习趋势@ICLR2016(译)
- TCP/IP详解第二版(卷1 协议)
- 交换排序-快速排序
- 微信接口API之长链接转短链接代码示例
- 归并排序
- java的堆和栈
- QT中控制窗口大小