C++
文章平均质量分 86
tf_apologize
不要那么孤独,请相信,这世界上真的有人在过着你想要的生活,愿你我带着最微薄的行李和最丰盛的自己在世间流浪。
展开
-
C++模板编程
函数模板和类模板函数模板函数同名问题当一般函数与函数模板同名时,编译器不会报错(函数模板只有在类型T确定之后才会生成对应的函数体,否则它仅仅只是模板。)。当出现函数调用时,优先匹配一般函数。double Max(double a,double b) //一般函数{ returna>b?a:b;} template原创 2016-11-13 15:02:53 · 746 阅读 · 0 评论 -
灵活而奇特的C++语言特性——统一初始化
学习了博主的《漫谈继承技术》系列博文之后,相信大家都有所收获吧!这次博主将和大家一起探讨 《灵活而奇特的C++语言特性》 ,主要包括引用、常量(const)、常量表达式(constexpr)、静态(static)、外部(expert)、类型定义(typedef)、类型别名(aliases)、类型转换、作用域解析、统一初始化、显示转换运算符、特性(attribute)、用户自定义文本、头文件、可变长原创 2016-12-03 12:03:38 · 486 阅读 · 0 评论 -
灵活而奇特的C++语言特性——作用域解析(一)
学习了博主的《漫谈继承技术》系列博文之后,相信大家都有所收获吧!这次博主将和大家一起探讨 《灵活而奇特的C++语言特性》 ,主要包括引用、常量(const)、常量表达式(constexpr)、静态(static)、外部(expert)、类型定义(typedef)、类型别名(aliases)、类型转换、作用域解析、统一初始化、显示转换运算符、特性(attribute)、用户自定义文本、头文件、可变长原创 2016-12-03 12:32:40 · 645 阅读 · 0 评论 -
灵活而奇特的C++语言特性——作用域解析(二)
学习了博主的《漫谈继承技术》系列博文之后,相信大家都有所收获吧!这次博主将和大家一起探讨 《灵活而奇特的C++语言特性》 ,主要包括引用、常量(const)、常量表达式(constexpr)、静态(static)、外部(expert)、类型定义(typedef)、类型别名(aliases)、类型转换、作用域解析、统一初始化、显示转换运算符、特性(attribute)、用户自定义文本、头文件、可变长原创 2016-12-03 12:40:21 · 432 阅读 · 0 评论 -
C++运算符重载(五)
C++允许在自己的类中,或是在全局作用域中重定义运算符的含义。由于很多面向对象的语言没有提供这种能力,因此你可能会低估这种特性在C++中的作用。C++中运算符的概念十分广泛,甚至包含[](数组索引)、()(函数调用)、类型转换以及内存分配和释放例程。可以通过运算符重载来改变语言运算符对自定义类的行为。能让自己的类具有内建类型的类似行为,甚至可以编写看上去类似于数组、函数或指针的类。在博主的《C++原创 2016-12-12 12:12:21 · 512 阅读 · 0 评论 -
C++运算符重载(四)
C++允许在自己的类中,或是在全局作用域中重定义运算符的含义。由于很多面向对象的语言没有提供这种能力,因此你可能会低估这种特性在C++中的作用。C++中运算符的概念十分广泛,甚至包含[](数组索引)、()(函数调用)、类型转换以及内存分配和释放例程。可以通过运算符重载来改变语言运算符对自定义类的行为。能让自己的类具有内建类型的类似行为,甚至可以编写看上去类似于数组、函数或指针的类。在博主的《C++原创 2016-12-12 12:03:08 · 424 阅读 · 0 评论 -
漫谈继承技术(一)
如果没有继承,类只是具有一些相关行为的数据结构,这只是对过程语言的一大改进,而继承则开辟了完全不同的新天地。通过继承,可以在已有类的基础上创建新类。这样,类就成为可重用和可扩展的组件。博主的《漫谈继承技术》系列博文将讲述各种利用继承功能的方法。学习继承的语法,和利用继承的一些复制技术。 本篇博文先给大家介绍一些final在继承中的使用,希望对大家加深对继承技术的理解有一定的帮助。final原创 2016-11-27 19:41:11 · 497 阅读 · 0 评论 -
漫谈继承技术(二)
如果没有继承,类只是具有一些相关行为的数据结构,这只是对过程语言的一大改进,而继承则开辟了完全不同的新天地。通过继承,可以在已有类的基础上创建新类。这样,类就成为可重用和可扩展的组件。博主的《漫谈继承技术》系列博文将讲述各种利用继承功能的方法。学习继承的语法,和利用继承的一些复制技术。本篇博文先给大家介绍一下override在继承中的使用,希望对大家加深对继承技术的理解有一定的帮助。ove原创 2016-11-27 19:50:45 · 602 阅读 · 0 评论 -
漫谈继承技术(三)
如果没有继承,类只是具有一些相关行为的数据结构,这只是对过程语言的一大改进,而继承则开辟了完全不同的新天地。通过继承,可以在已有类的基础上创建新类。这样,类就成为可重用和可扩展的组件。博主的《漫谈继承技术》系列博文将讲述各种利用继承功能的方法。学习继承的语法,和利用继承的一些复制技术。本篇博文先给大家介绍一些__super在继承中的使用,希望对大家加深对继承技术的理解有一定的帮助。__su原创 2016-11-27 19:53:53 · 371 阅读 · 0 评论 -
漫谈继承技术(四)
如果没有继承,类只是具有一些相关行为的数据结构,这只是对过程语言的一大改进,而继承则开辟了完全不同的新天地。通过继承,可以在已有类的基础上创建新类。这样,类就成为可重用和可扩展的组件。博主的《漫谈继承技术》系列博文将讲述各种利用继承功能的方法。学习继承的语法,和利用继承的一些复制技术。本篇博文先给大家介绍一下typeid在继承中的使用,希望对大家加深对继承技术的理解有一定的帮助。typei原创 2016-11-27 19:59:27 · 409 阅读 · 0 评论 -
漫谈继承技术(五)
如果没有继承,类只是具有一些相关行为的数据结构,这只是对过程语言的一大改进,而继承则开辟了完全不同的新天地。通过继承,可以在已有类的基础上创建新类。这样,类就成为可重用和可扩展的组件。博主的《漫谈继承技术》系列博文将讲述各种利用继承功能的方法。学习继承的语法,和利用继承的一些复制技术。本篇博文先给大家介绍一下dynamic_cast在继承中的使用,希望对大家加深对继承技术的理解有一定的帮助。原创 2016-11-27 20:06:54 · 522 阅读 · 0 评论 -
漫谈继承技术(六)
如果没有继承,类只是具有一些相关行为的数据结构,这只是对过程语言的一大改进,而继承则开辟了完全不同的新天地。通过继承,可以在已有类的基础上创建新类。这样,类就成为可重用和可扩展的组件。博主的《漫谈继承技术》系列博文将讲述各种利用继承功能的方法。学习继承的语法,和利用继承的一些复制技术。本篇博文先给大家介绍一下using在继承中的使用,希望对大家加深对继承技术的理解有一定的帮助。using原创 2016-11-27 20:11:20 · 542 阅读 · 0 评论 -
漫谈继承技术(七)
如果没有继承,类只是具有一些相关行为的数据结构,这只是对过程语言的一大改进,而继承则开辟了完全不同的新天地。通过继承,可以在已有类的基础上创建新类。这样,类就成为可重用和可扩展的组件。博主的《漫谈继承技术》系列博文将讲述各种利用继承功能的方法。学习继承的语法,和利用继承的一些复制技术。本篇博文先给大家介绍一下重写方法时的一些特殊情况,希望对大家加深对继承技术的理解有一定的帮助。重写方法时的原创 2016-11-27 20:20:00 · 358 阅读 · 0 评论 -
灵活而奇特的C++语言特性——typedef & aliases
学习了博主的《漫谈继承技术》系列博文之后,相信大家都有所收获吧!这次博主将和大家一起探讨 《灵活而奇特的C++语言特性》 ,主要包括引用、常量(const)、常量表达式(constexpr)、静态(static)、外部(expert)、类型定义(typedef)、类型别名(aliases)、类型转换、作用域解析、统一初始化、显示转换运算符、特性(attribute)、用户自定义文本、头文件、可变长原创 2016-12-03 12:12:10 · 490 阅读 · 0 评论 -
泛型程序设计与STL
泛型程序设计的基本概念 所谓泛型程序设计,就是编写不依赖于具体数据类型的程序。泛型程序设计的主要思想是将算法从特定的数据结构中抽象出来,使算法成为通用的、可以作用于各种不同的数据结构。泛型程序设计的数据类型T的协议:从函数模板的声明来看,类型参数T可以是任何数据类型,但实际上并非如此。类型T必须具备3个功能:①类型T的变量之间能够比较大小②类型T必须具有公有的原创 2016-11-13 15:06:26 · 1488 阅读 · 0 评论 -
C++运算符重载(三)
C++允许在自己的类中,或是在全局作用域中重定义运算符的含义。由于很多面向对象的语言没有提供这种能力,因此你可能会低估这种特性在C++中的作用。C++中运算符的概念十分广泛,甚至包含[](数组索引)、()(函数调用)、类型转换以及内存分配和释放例程。可以通过运算符重载来改变语言运算符对自定义类的行为。能让自己的类具有内建类型的类似行为,甚至可以编写看上去类似于数组、函数或指针的类。在博主的《C++原创 2016-12-10 20:49:54 · 332 阅读 · 0 评论 -
数组、指针与字符串
数组 数组是具有一定顺序关系的若干对象的集合体,组成数组的对象称为该数组的元素。数组可以由除void以外的任何类型构成。 数组名是一个指向数组第一个元素的指针常量,其自身的值不能更改。数组定义时,不能用另外一个已定义的数组的数组名进行初始化。如:Int a[3]= {0};Int b[3]= a; //error原创 2016-11-13 14:59:12 · 643 阅读 · 0 评论 -
C++多态
多态性概念多态的类型面向对象的多态性可以分为4类: 重载多态、强制多态、包含多态和参数多态多态的实现编译时多态和运行时多态静态绑定(编译时多态):绑定工作在编译链接阶段完成的情况为静态绑定动态绑定(运行时多态):绑定工作在程序运行阶段完成的情况为多动态绑定 编译时多态:重载多态、强制多态和参数多态运行时多态:包含多态运算符重原创 2016-11-13 14:52:05 · 938 阅读 · 0 评论 -
类的继承与派生
类的继承与派生类的继承,是新的类从已有类那里得到已有的特性。从已有类产生新类的过程就是类的派生。 派生类的定义:class 派生类名:继承方式 基类名1, 继承方式 基类名2, ……, 继承方式 基类名n{ 派生类成员声明;}; 一个派生类,可以同时有多个基类,这种情况称为多继承。这时的派生类同时得到了多个已有类的特性。一个派生原创 2016-11-13 14:49:14 · 1278 阅读 · 0 评论 -
数据的共享与保护
作用域作用域是一个标识符在程序正文中有效的区域。C++中标识符的作用域有函数原型作用域、局部作用域(块作用域)、类作用域和命名空间作用域。①函数原型作用域在函数原型声明时形式参数的作用范围就是函数原型作用域。如:double area(double radius);//函数声明标识符radius的作用范围在函数area形参列表的左右括号之间,在程原创 2016-11-13 14:43:02 · 770 阅读 · 0 评论 -
类和对象
本篇博文对C++类和对象,以及特性做了一个总结,希望对初学C++的朋友有一点帮助。写的有点零碎,若有不当之处,欢迎拍砖。1.抽象 面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。抽象分为数据抽象和行为抽象。2.封装 封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的函数代原创 2016-11-13 14:35:52 · 579 阅读 · 0 评论 -
灵活而奇特的C++语言特性——引用(下)
学习了博主的《漫谈继承技术》系列博文之后,相信大家都有所收获吧!这次博主将和大家一起探讨 《灵活而奇特的C++语言特性》 ,主要包括引用、常量(const)、常量表达式(constexpr)、静态(static)、外部(expert)、类型定义(typedef)、类型别名(aliases)、类型转换、作用域解析、统一初始化、显示转换运算符、特性(attribute)、用户自定义文本、头文件、可变长原创 2016-11-30 15:56:47 · 509 阅读 · 0 评论 -
灵活而奇特的C++语言特性——引用(上)
学习了博主的《漫谈继承技术》系列博文之后,相信大家都有所收获吧!这次博主将和大家一起探讨《灵活而奇特的C++语言特性》,主要包括引用、常量(const)、常量表达式(constexpr)、静态(static)、外部(expert)、类型定义(typedef)、类型别名(aliases)、类型转换、作用域解析、统一初始化、显示转换运算符、特性(attribute)、用户自定义文本、头文件、可变长度参原创 2016-11-30 15:37:47 · 489 阅读 · 0 评论 -
灵活而奇特的C++语言特性——const(一)
学习了博主的《漫谈继承技术》系列博文之后,相信大家都有所收获吧!这次博主将和大家一起探讨 《灵活而奇特的C++语言特性》 ,主要包括引用、常量(const)、常量表达式(constexpr)、静态(static)、外部(expert)、类型定义(typedef)、类型别名(aliases)、类型转换、作用域解析、统一初始化、显示转换运算符、特性(attribute)、用户自定义文本、头文件、可变长原创 2016-11-30 22:44:03 · 761 阅读 · 0 评论 -
灵活而奇特的C++语言特性——const(二)
学习了博主的《漫谈继承技术》系列博文之后,相信大家都有所收获吧!这次博主将和大家一起探讨 《灵活而奇特的C++语言特性》 ,主要包括引用、常量(const)、常量表达式(constexpr)、静态(static)、外部(expert)、类型定义(typedef)、类型别名(aliases)、类型转换、作用域解析、统一初始化、显示转换运算符、特性(attribute)、用户自定义文本、头文件、可变长原创 2016-11-30 22:56:02 · 470 阅读 · 0 评论 -
灵活而奇特的C++语言特性——const(三)
学习了博主的《漫谈继承技术》系列博文之后,相信大家都有所收获吧!这次博主将和大家一起探讨 《灵活而奇特的C++语言特性》 ,主要包括引用、常量(const)、常量表达式(constexpr)、静态(static)、外部(expert)、类型定义(typedef)、类型别名(aliases)、类型转换、作用域解析、统一初始化、显示转换运算符、特性(attribute)、用户自定义文本、头文件、可变长原创 2016-11-30 23:04:08 · 460 阅读 · 0 评论 -
C++运算符重载(一)
C++允许在自己的类中,或是在全局作用域中重定义运算符的含义。由于很多面向对象的语言没有提供这种能力,因此你可能会低估这种特性在C++中的作用。C++中运算符的概念十分广泛,甚至包含[](数组索引)、()(函数调用)、类型转换以及内存分配和释放例程。可以通过运算符重载来改变语言运算符对自定义类的行为。能让自己的类具有内建类型的类似行为,甚至可以编写看上去类似于数组、函数或指针的类。在博主的《C++原创 2016-12-10 17:24:08 · 563 阅读 · 0 评论 -
C++运算符重载(二)
C++允许在自己的类中,或是在全局作用域中重定义运算符的含义。由于很多面向对象的语言没有提供这种能力,因此你可能会低估这种特性在C++中的作用。C++中运算符的概念十分广泛,甚至包含[](数组索引)、()(函数调用)、类型转换以及内存分配和释放例程。可以通过运算符重载来改变语言运算符对自定义类的行为。能让自己的类具有内建类型的类似行为,甚至可以编写看上去类似于数组、函数或指针的类。在博主的《C++原创 2016-12-10 19:29:06 · 479 阅读 · 0 评论 -
漫谈继承技术(八)
如果没有继承,类只是具有一些相关行为的数据结构,这只是对过程语言的一大改进,而继承则开辟了完全不同的新天地。通过继承,可以在已有类的基础上创建新类。这样,类就成为可重用和可扩展的组件。博主的《漫谈继承技术》系列博文将讲述各种利用继承功能的方法。学习继承的语法,和利用继承的一些复制技术。本篇博文先给大家介绍一下virtual在继承中的使用,希望对大家加深对继承技术的理解有一定的帮助。virt原创 2016-11-27 20:26:09 · 438 阅读 · 0 评论