当前位置: 首页 > wzjs >正文

公司有网站域名,如何做网站代码编写网站

公司有网站域名,如何做网站,代码编写网站,建立企业网站方案,网站管理怎么做文章目录 C对数据结构使用自定义类1 QMap使用自定义类1.1 使用自定义类做key1.2 使用自定义类做value 2 QSet使用自定义类 参考 C对数据结构使用自定义类 1 QMap使用自定义类 1.1 使用自定义类做key QMap<key,value>中数据存入时会对存入key值的数据进行比较&#xff…

文章目录

  • C++对数据结构使用自定义类
    • 1 QMap使用自定义类
      • 1.1 使用自定义类做key
      • 1.2 使用自定义类做value
    • 2 QSet使用自定义类
  • 参考

C++对数据结构使用自定义类

1 QMap使用自定义类

1.1 使用自定义类做key

QMap<key,value>中数据存入时会对存入key值的数据进行比较,并按照比较后的顺序进行排序存储,因此需要重载运算符函数<

实例如下:

struct Animal{Animal(int size, int area):m_size(size),m_area(area){}~Animal(){}//重载运算符函数bool operator<(const Animal &a) const //注意这里的两个const{if(m_size == a.m_size){return m_area > a.m_area;}else{return m_size > a.m_size;}}int m_size;int m_area;};
QMap<Animal, int> g_AnimalTypeHash;int main(int argc, char *argv[])
{QApplication a(argc, argv);Animal tmpA1 = Animal(20, 1);g_AnimalTypeHash[tmpA1] = 2;return a.exec();
}

1.2 使用自定义类做value

QMap<key,value>中,当自定义类为value,每当赋值时,都会用到默认构造函数、拷贝构造、赋值运算符函数。如果没有重写构造函数,则编译器会帮忙编写上面的函数。

实例如下:

struct Animal{int m_size;int m_area;};QMap<int, Animal> g_AnimalTypeHash2;
int main(int argc, char *argv[])
{QApplication a(argc, argv);Animal tmpB1;tmpB1.m_size = 1;tmpB1.m_area = 2;g_AnimalTypeHash2[2] = tmpB1;return a.exec();
}

如果自己重写了构造函数,则需要重新编写拷贝构造、赋值运算符、析构函数。

实例如下:

struct Animal{Animal(){}Animal(int size, int area):m_size(size),m_area(area){}~Animal(){}Animal(const Animal& a){//拷贝构造this->m_size = a.m_size;this->m_area = a.m_area;qDebug()<<"拷贝构造";}Animal& operator =(const Animal& a) //赋值运算符{if (this != &a){this->m_size = a.m_size;this->m_area = a.m_area;}qDebug()<<"赋值运算符";return *this;}int m_size;int m_area;};QMap<int, Animal> g_AnimalTypeHash2;int main(int argc, char *argv[])
{QApplication a(argc, argv);Animal tmpA1 = Animal(20, 1);g_AnimalTypeHash2[2] = tmpA1;return a.exec();
}

2 QSet使用自定义类

使用自定义类做映射类型,必须重写赋值==运算符函数和编写全局的qHash函数,因为QSet是基于QHash实现的(哈希表)。而且QHash存储的必须是值,不能是指针类型。

以下为官方解释:

在这里插入图片描述

错误的例子:

struct Animal{bool operator<(const Animal &a) const //注意这里的两个const{if(m_size == a.m_size){return m_area > a.m_area;}else{return m_size > a.m_size;}}int m_size;int m_area;};int main(int argc, char *argv[])
{QApplication a(argc, argv);QSet<Animal> animalsSet;Animal animal;for(int i = 0;i < 10;i++){animal.m_size = i;animal.m_area = i*i;animalsSet.insert(animal);}return a.exec();
}    

编译器会爆出如下的错误:

1,error: no matching function for call to 'qHash(const Animal&)' ,;

2,error: no match for 'operator==' (operand types are 'const Animal' and 'const Animal');

正确的示例如下:

struct Animal{bool operator==(const Animal &a) const{if(m_size == a.m_size){return m_area > a.m_area;}else{return m_size  > a.m_size;}}int m_size;int m_area;};uint qHash(const Animal& a)
{return a.m_area + a.m_size;
}int main(int argc, char *argv[])
{QApplication a(argc, argv);QSet<Animal> animalsSet;Animal animal;for(int i = 0;i < 10;i++){animal.m_size = i;animal.m_area = i*i;animalsSet.insert(animal);}return a.exec();
}

参考

QSet Class
用QSet存储一个自定义结构体


文章转载自:

http://e6QoYhcz.mczjq.cn
http://jO6YV6Yt.mczjq.cn
http://QJiqPwYd.mczjq.cn
http://HY9N9eEi.mczjq.cn
http://0Aeiocax.mczjq.cn
http://gduGuNYv.mczjq.cn
http://tbG7CcTo.mczjq.cn
http://vfVmzOYn.mczjq.cn
http://H8i4VxvD.mczjq.cn
http://xD67Ltjf.mczjq.cn
http://1DYHOSt8.mczjq.cn
http://EL1QvWIX.mczjq.cn
http://u3rxehEe.mczjq.cn
http://qlOyxFde.mczjq.cn
http://N78MI9Oh.mczjq.cn
http://nlM1NPrp.mczjq.cn
http://d5qT1NGq.mczjq.cn
http://3Kh0nnD7.mczjq.cn
http://UdTNiwqa.mczjq.cn
http://0LknWLzz.mczjq.cn
http://8dGpXHIH.mczjq.cn
http://vDE5JF1I.mczjq.cn
http://60hEK1Ws.mczjq.cn
http://TGxXFne2.mczjq.cn
http://HALS9Ux4.mczjq.cn
http://xBflUlOT.mczjq.cn
http://DwH1gXU9.mczjq.cn
http://rEGuxyCg.mczjq.cn
http://ZImKeZaZ.mczjq.cn
http://tceuWM6P.mczjq.cn
http://www.dtcms.com/wzjs/738177.html

相关文章:

  • 做网站的基本条件企业运营管理名词解释
  • 银医网站建设方案wordpress 截取
  • 天水 网站建设到国外网站上做兼职翻译
  • 网站左悬浮代码网站维护管理
  • ui设计 国外网站山东查询网站备案
  • 自己怎么做机构网站哈尔滨市香坊区建设局网站
  • 三合一网站建设方案不让在建设门户网站
  • 如何创建自己的公司网站电脑和手机同步编辑wordpress
  • 去国外做网站wordpress 需要授权吗
  • 99作文网泰安网站建设优化技术
  • 娱乐彩票网站建设制作公司介绍怎么写
  • 网站建设算研发费用吗wordpress 写权限设置
  • 网站网页设计是什么外包网站推荐
  • 做多肽的都有哪些网站做的非常好的网站案例
  • 网站代码如何导入建设银行网站登陆不上
  • 阿里云企业网站建设教程淘宝软件营销网站建设
  • 网站程序组成餐饮品牌全案策划公司
  • 有没有做网站源代码修改的网页设计最牛的网站建设
  • 官方网站链接如何做阳江网络12345问政平台
  • 静态网站做新闻系统今天足球赛事推荐
  • 老鸭窝网站正在建设中网站美工设计
  • 网站开发体会免费全能网站空间
  • 可以直接进入网站的正能量照片公司建设网站需要去哪报备
  • 哪些做直播卖食品的网站软文营销的技巧有哪些?
  • 高端网站制作网站设计做网站一定要psd吗
  • 楚天网站建设合同自贡市城市建设投资开发集团有限公司网站
  • 长春市快速建站网站网络电话免费版
  • 佛山外贸网站建设资讯丰台网站建设公司
  • 集团酒店网站建设制作网站能挣钱
  • 住建部工程建设标准网站电脑网站 源码