0%
这是一片思考的空间 -- arthinking
Spring 重构&代码整洁之道 软件设计 JVM 并发编程 数据结构与算法 分布式 存储 网络 微服务 设计模式
Java技术栈 - 涉及Java技术体系

C++语法笔记 - 群体类和群体数据 类模板

群体数据:

自定义类型的数据是由多个基本类型或自定义类型的元素组成的,我们称之为群体数据。

群体类:

对于群体数据,仅有系统预定义的操作时不够的,在很多情况下,还需要设计与某些具体问题相关的特殊操作,并按照面向对象的方法将数据与操作封装起来,这就是群体类。

函数模板:

模板时C++支持参数化程序设计的工具,通过它可以实现参数化多态性。所谓参数化多态性,就是将程序所处理的对象的类型参数化,使得一段程序可以用于处理多种不同类型的对象。

函数模板的定义:

template 或 template 类型名 函数名(参数表) { 函数体的定义 }

tempalge
T abs(T x)
{
return x < 0? –x : x;
}
int main(){
int n = -1;
double d = 1.1
cout << abs(n) << endl;
cout << abs(d) << endl;
}

类模板:

使用类模板使得用户可以为类生命一种模式,使得类中的某些数据成员、某些成员函数的参数、某些成员函数的返回值能取任意类型。

类模板的声明:

template <模板参数表>
class 类名
{ 类成员声明 }

在类模板以外定义其成员函数:

template <模板参数表>
类型名 类名 :: 函数名(参数表)

使用一个模板来建立对象:

模板<模板参数表> 对象名1,…,对象名n;

线性群体:

1、线性群体的概念:线性群体中元素次序与其位置关系是对应的。可以按照访问元素的不同方法分为直接访问、顺序访问和索引访问。 2、直接访问群体——数组类 3、顺序访问群体——链表类 4、栈类 5、队列类

群体数据的组织:

插入排序 选择排序 交换排序 顺序排序 折半排序

欢迎关注我的其它发布渠道

订阅IT宅
内功修炼
Java技术栈
Java架构杂谈是IT宅精品文章公众号,欢迎订阅:
📄 网络基础知识:两万字长文50+张趣图带你领悟网络编程的内功心法 📄 HTTP发展史:三万长文50+趣图带你领悟web编程的内功心法 📄 HTTP/1.1:可扩展,可靠性,请求应答,无状态,明文传输 📄 HTTP/1.1报文详解:Method,URI,URL,消息头,消息体,状态行 📄 HTTP常用请求头大揭秘 📄 HTTPS:网络安全攻坚战 📄 HTTP/2:网络安全传输的快车道 📄 HTTP/3:让传输效率再一次起飞 📄 高性能网络编程:图解Socket核心内幕以及五大IO模型 📄 高性能网络编程:三分钟短文快速了解信号驱动式IO 📄 高性能网络编程:彻底弄懂IO复用 - IO处理杀手锏,带您深入了解select,poll,epoll 📄 高性能网络编程:异步IO:新时代的IO处理利器 📄 高性能网络编程:网络编程范式 - 高性能服务器就这么回事 📄 高性能网络编程:性能追击 - 万字长文30+图揭秘8大主流服务器程序线程模型
📄 Java内存模型:如果有人给你撕逼Java内存模型,就把这些问题甩给他 📄 一文带你彻底理解同步和锁的本质(干货) 📄 AQS与并发包中锁的通用实现 📄 ReentrantLock介绍与使用 📄 ReentrantReadWriteLock介绍与使用 📄 ReentrantLock的Condition原理解析 📄 如何优雅的中断线程 📄 如何优雅的挂起线程 📄 图解几个好玩的并发辅助工具类 📄 图解BlockingQueue阻塞队列
📄 消息队列那么多,为什么建议深入了解下RabbitMQ? 📄 高并发异步解耦利器:RocketMQ究竟强在哪里? 📄 Kafka必知必会18问:30+图带您看透Kafka
📄 洞悉MySQL底层架构:游走在缓冲与磁盘之间 📄 SQL运行内幕:从执行原理看调优的本质 📄 洞悉Redis技术内幕:缓存,数据结构,并发,集群与算法