容器中的内容必须满足三个条件:

  • (1)无参构造函数
  • (2)拷贝构造函数
  • (3)重载 = 运算符
#define  _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <algorithm>
#include <vector>
#include<functional>
using namespace std; class Teacher
{
public:
Teacher(char *name, int age)
{
m_name = new char[strlen(name) + ];
strcpy(m_name, name);
m_age = age;
}
~Teacher()
{
if (m_name != nullptr)
{
delete[]m_name;
m_name = nullptr;
m_age = ;
}
}
Teacher(const Teacher &obj)
{
m_name = new char[strlen(obj.m_name) + ];
strcpy(m_name, obj.m_name);
m_age = obj.m_age;
}
// 重载等号操作符
Teacher& operator+(const Teacher &obj)
{
if (m_name != nullptr)
{
delete[]m_name;
m_name = nullptr;
m_age = ;
}
m_name = new char[strlen(obj.m_name) + ];
strcpy(m_name, obj.m_name);
m_age = obj.m_age;
return *this;
}
void printT()
{
cout << m_name << " " << m_age << endl;
}
private:
char *m_name;
int m_age;
};
/*
//容器必须满足三个条件
(1)无参构造函数
(2)拷贝构造函数
(3)重载 = 运算符
*/
int main()
{
Teacher t1("t1", );
vector<Teacher> v1;
v1.push_back(t1);
t1.printT(); system("pause");
return ;
}

C++(五十) — 容器中元素满足的条件的更多相关文章

  1. C++11新特性应用--介绍几个新增的便利算法(不更改容器中元素顺序的算法)

    总所周知.C++ STL中有个头文件,名为algorithm.即算法的意思. The header<algorithm>defines a collection of functions ...

  2. 遍历并批量删除容器中元素出现ConcurrentModificationException原因及处置

    在以下四种遍历过程中,前两种会抛出ConcurrentModificationException,而后两种方法是正确的. Department类: package com.sitinspring; i ...

  3. C++中如何在顺序容器中删除符合特定条件的元素

    以前很少做删除操作,vector一直当成数组用,而实际追求效率时又经常舍弃vector选用C风格数组.看<C++ Primer>到顺序容器删除这节时试着实现课后习题结果一动手我就出错了. ...

  4. c++ 使用模板按类型统计stl多维容器中元素的数量

    struct ItemCounter{template<typename T1, typename T2, typename = typename std::enable_if<!std: ...

  5. 容器中元素的去重——ans.erase(unique(ans.begin(),ans.end()),ans.end());

    啊,原来unique()函数,只是处理的连续的元素,比如 -1 -1 -1 1 2 -1 2 就处理成了 -1 1 2 -1 2 -1 -1并且返回5,之后eraser(5,7)剩下了 -1 1 2 ...

  6. c++ 容器中元素计数

    #include <iostream>#include <algorithm>#include <vector>#include <functional> ...

  7. 【String注解驱动开发】如何按照条件向Spring容器中注册bean?这次我懂了!!

    写在前面 当bean是单实例,并且没有设置懒加载时,Spring容器启动时,就会实例化bean,并将bean注册到IOC容器中,以后每次从IOC容器中获取bean时,直接返回IOC容器中的bean,不 ...

  8. Java提高十五:容器元素比较Comparable&Comparator深入分析

    我们经常用容器来存放元素,通常而言我们是不关系容器中的元素是否有序,但有些场景可能要求容器中的元素是有序的,这个时候用ArrayList  LinkedList  Hashtable HashMap ...

  9. 第三百五十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中

    第三百五十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中,判断URL是否重复 布隆过滤器(Bloom Filter)详 ...

随机推荐

  1. {Redis}NOAUTH Authentication required. Linux.cenOS

    问题 [root@VM_0_12_centos redis]# ./bin/redis-cli -p 6379 127.0.0.1:6379> INFO NOAUTH Authenticatio ...

  2. Hadoop深入学习之HA

    1. 基本原理 2.x版本中,HDFS架构解决了单点故障问题,即引入双NameNode架构,同时借助共享存储系统来进行元数据的同步,共享存储系统类型一般有几类,如:Shared NAS+NFS.Boo ...

  3. EasyNVR摄像机网页无插件直播方案H5前端构建之:如何区分PC端和移动端

    背景分析 随着互联网基础设施建设的不断完善和发展,带宽的不断提速,尤其是光纤入户,4G/5G/NB-IoT各种网络技术的大规模商用,视频随时随地可看.可控的诉求越来越多,尤其是移动应用技术和前端技术的 ...

  4. 树莓派开启SSH的N种方法

    问题:为什么我的树莓派无法使用远程连接电脑? 解答: 由于树莓派只有一个串口,当我们开发中需要占用这个串口或者我们希望进行远程开发(通过一个根网线或无线连接到树莓派).SSH连接,首先需要确认的是: ...

  5. UE4 常用数学

    转自:https://dawnarc.com/2016/07/mathlinear-algebra%E5%90%91%E9%87%8F%E7%A7%AF%E5%A4%96%E7%A7%AF%E5%8F ...

  6. CentOS7-Docker 搭建Maven私服

    使用Docker搭建Maven私服 前言本文主要介绍,使用Docker创建一个nexus私服,然后编写一个Library,上传到私服,然后使用demo工程依赖. 本文不对Maven.Nexus.私服等 ...

  7. netcore发布失败

    2.2  发布Views  <MvcRazorCompileOnPublish>true</MvcRazorCompileOnPublish> 导致 发布失败--------- ...

  8. UML交互图

    UML 交互图主要包括对象和消息两类元素,创建交互图的过程实际上就是向对象分配任务的过程,是可视化系统的交互行为. UML 交互图包括两种:序列图和协作图. 序列图:显示对象之间的关系,强调对象之间消 ...

  9. Python 入门(2):数据类型

    一 Number(数字) 1.1 数字类型的创建 a = 10 b = a b = 5 print(a) 10 print(b) 5 1.2 Number 类型转换 a = 5.2 b = 5 c = ...

  10. Python之路【第二十篇】:python项目之旧版抽屉新热榜

    旧版抽屉新热榜 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...