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

html5手机网站开发框架什么软件推广好

html5手机网站开发框架,什么软件推广好,广西省建设注册管理网站,网站后台 js框架【泛型编程】 若多组类型不同的数据需要使用相同的代码处理#xff0c;在C语言中需要编写多组代码分别处理#xff0c;这样做显然太过繁琐#xff0c;C增加了虚拟类型#xff0c;使用虚拟类型可以实现一组代码处理多种类型的数据。 虚拟类型是暂时不确定的数据类型#… 【泛型编程】 若多组类型不同的数据需要使用相同的代码处理在C语言中需要编写多组代码分别处理这样做显然太过繁琐C增加了虚拟类型使用虚拟类型可以实现一组代码处理多种类型的数据。 虚拟类型是暂时不确定的数据类型它在定义时不指定具体类型而是在使用时指定类型可以用于单个数据类型也可以用于数组、结构体使用虚拟类型编程也称为泛型编程意为广泛类型。 使用虚拟类型的代码称为模板但是全局数据不能使用虚拟类型全局数据也无需定义为模板。 全局函数模板 函数模板的参数、返回值可以使用虚拟类型参数与返回值的数量必须相同只是类型不同。 #include iostream template typename T //使用template关键词定义虚拟类型T为虚拟类型名称 T add(T t1, T t2) {return t1t2; } int main() {printf(%d\n, add(1, 2)); //T指定为int类型printf(%f\n, add(0.1f, 0.2f)); //T指定为float类型return 0; } 虚拟类型使用template关键词定义也可以使用class定义可以在符号内定义多个虚拟类型不同虚拟类型使用,符号隔开但是每个定义的虚拟类型都必须使用否则编译报错。 函数模板内可以使用多个虚拟类型执行函数模板时需要为其内部虚拟类型指定具体类型当多次执行函数模板并为虚拟类型设置不同的具体类型时编译器会将函数模板编译为多个函数分别使用不同的指令处理数据上述代码中的add函数实际上会被编译器编译成两个函数分别使用整数运算指令和浮点数运算指令处理数据模板只是简化了程序员的工作量并没有减少程序编译后的代码量。 成员函数模板 #include iostream class math { public:template typename T //定义虚拟类型T add(T t1, T t2) const{return t1t2;} }; int main() {math math1;printf(%d\n, math1.add(1, 2));printf(%f\n, math1.add(0.1f, 0.2f));return 0; } 类模板 成员数据使用虚拟类型的类称为类模板。 #include iostream template typename T class math { private:T a,b;public:math(T t1, T t2){a t1;b t2;}T add() const{return ab;} }; int main() {mathint math1(1, 2); //创建对象时需要使用符号设置数据类型printf(%d\n, math1.add());mathfloat math2(0.1, 0.2);printf(%f\n, math2.add());return 0; } 成员数组模板 虚拟类型用于类成员数组时可以额外定义一个变量此变量用于设置数组模板的长度从而实现数组的类型、长度都在定义时临时确定。 #include iostream template typename T, int i //变量i设置数组长度 class array { private:T a[i];public://...... }; int main() {arrayint, 5 array1; //成员数组类型为int包含5个元素arrayfloat, 6 array2; //成员数组类型为float包含6个元素return 0; } 【符号重载】 在C中可以借助operator关键词将语法中的某些符号、关键词当做函数名从而重新定义此符号的功能这种函数称为符号函数调用符号函数执行时可以无需指定operator关键词直接使用重载的符号即可全局函数和成员函数都可以设置为符号函数。 使用符号函数会让代码更简洁比如连接字符串函数使用符号作为函数名即可通过符号连接两个字符串。 可重载的符号如下 -  *  /    --  %    ||  !    |  ~  ^!    -  *  /  %  ^    |     ,  ()  [] -  -* new  delete  new[]  delete[] 符号重载注意事项 1.只能使用C语法中原有符号不能使用C语法没有的符号。 2. () [] - 这四种符号只能用于成员函数不能用于全局函数。 3.重载不同符号时函数可以设置的参数个数不同。 4.重载相同符号时全局函数与成员函数可以设置的参数个数不同。 5.重载不同符号有不同的限制比如重载-符号不能计算两个double数据相加、重载%符号不能只有一个操作数、重载new的函数返回值只能是void类型指针。 重载 符号 重载符号连接固定长度字符串对象并返回连接结果。 #include iostream class string { public:char strvar[100] {0};/* operator符号函数连接string对象 */string operator(const string conobj) const{string result; //存储连接结果unsigned int strlen 0; //存储本类strvar空字符下标unsigned int conlen 0; //存储conobj.strvar空字符下标result.strvar[0] 0; //初始空字符/* 查询本类strvar空字符下标若没有空字符则当做不合规string对象处理strlen 0 */for(int i 0; i 100; i){if(strvar[i] 0){strlen i;break;}}/* 查询conobj.strvar空字符下标 */for(int i 0; i 100; i){if(conobj.strvar[i] 0){conlen i;break;}}/* result连接本类strvar */if(strlen ! 0){result *this;}/* result连接conobj.strvar */if(conlen ! 0){if(strlen 0){result conobj;}else{for(int i 0; strlen99 iconlen; i){result.strvar[strlen] conobj.strvar[i];strlen;}result.strvar[99] 0; //确保末尾元素是空字符}}return result;}/* 重载operator符号函数连接字符串 */string operator(const char * conobj) const{string result;unsigned int strlen 0;unsigned int conlen 98; //若字符串长度超标则最多使用99个字符result.strvar[0] 0;/* 查询本类strvar末尾下标 */for(int i 0; i 100; i){if(strvar[i] 0){strlen i;break;}}/* 查询conobj末尾下标只需查询99个字节 */for(int i 0; i 99; i){if(conobj[i] 0){conlen i;break;}}/* 连接本类strvar */if(strlen ! 0){result *this;}/* 连接conobj */if(conlen ! 0){for(int i 0; strlen99 iconlen; i){result.strvar[strlen] conobj[i];strlen;}result.strvar[99] 0;}return result;} }; int main() {string ali {阿狸};string taozi {桃子};string zoo ali taozi; //调用ali.operator函数连接string对象printf(%s\n, zoo.strvar);zoo zoo 喜羊羊美羊羊; //调用zoo.operator函数连接字符串printf(%s\n, zoo.strvar);return 0; } 重载 符号 重载符号修改动态长度字符串对象字符串成员定义为私有只能通过operator符号函数修改。 #include iostream #include string.h class string { private:char * strvar;public:string(){strvar new char;*strvar 0;}string(const char * assobj){size_t asslen strlen(assobj); strvar new char[asslen1];strcpy(strvar, assobj);strvar[asslen1] 0; //末尾空字符}~string(){delete [] strvar;}/* 返回字符串地址 */const char * get() const{return strvar;}void operator(const char *assobj){size_t asslen strlen(assobj);/* 释放旧内存 */delete [] strvar;/* 申请新内存 */strvar new char[asslen1];/* 内存赋值 */strcpy(strvar, assobj);strvar[asslen1] 0;} };int main() {string zoo(阿狸);printf(%s\n, zoo.get());zoo 喜羊羊;printf(%s\n, zoo.get());return 0; }
http://www.hkea.cn/news/14452366/

相关文章:

  • 网站安全防护方案如何做网站结构及栏目策划
  • 简单的房源展示网站开发怎么建设个人博客网站
  • 35互联做网站多少钱标书制作好学吗
  • 判断网站首页wordpress文章下载
  • 如何做公司网站空间wordpress无法修改主题
  • 用ps做商城网站好做吗南宁seo推广优化
  • 河南城乡住房和建设厅网站北京公司摇号政策
  • 禹城网站建设费用wordpress 支付方式
  • 网站设计制作全网优惠四川省住房和城乡建设厅网站打不开
  • 网站建设 深圳 凡科莱芜高新区
  • 重庆网站建设找承越类似wordpress的网站
  • 网站系统是什么济南网络公司排行榜
  • 济南网站制作公司哪家技术好微信小程序开发用什么语言
  • 网站开发ppt推广关键词怎么设置
  • 郑志平爱站网创始人北京市建设公租房网站
  • 建设网站需要做什么的中国室内设计任务网
  • 旅游网站开发需求文档模板百度霸屏推广
  • 可以做闪图的网站蒙古文网站建设
  • 学校网站推广微信版本的wordpress
  • 动易网站后台重庆网站建设公司是什么意思
  • 抚州做网站郴州网站设计公司
  • 官方网站建设公司排名中国小康建设网是骗子网站吗?
  • 沧州网站设计公司价格网络推广培训班好吗
  • 漯河网站建设(千弘网络)软文营销广告案例
  • 网站增长期怎么做做企业网站哪家公司专业
  • 中国石油销售公司网站建设个人做理财网站
  • 越南做It网站推广wordpress插件audio player
  • 专业制作网站公司哪家好番禺软件公司
  • 大理州建设局网站wordpress 分享后下载
  • seo网站营销推广全程实例 pdf负面信息搜索引擎 网站