
C++学习
joker j
这个作者很懒,什么都没留下…
展开
-
模板和泛型编程
函数模板模板函数的定义和使用1.模板函数的定义函数模板看起来非常像是一个函数,但特别的语法使它只是看起来像而已,并不是一个真正的函数。当然,一旦函数模板被实例化,它就能履行真正的函数的功能。函数模板的形式化描述如下:template < typename T,[const类型 常量表达式, …] >返回值类型 函数名(参数列表){ //函数体}可以使用关键字c...原创 2019-12-23 12:02:05 · 281 阅读 · 0 评论 -
C++ 深入类和对象
构造函数和析构函数构造函数1.构造函数的定义类的构造函数(constructor)是类中的一个非常特殊的成员,它甚至没有名字C++用了函数修饰符(function specifier)来说明构造函数的存在。构造函数不仅在声明形式上非常特别,它的“返回值”也很特殊:在声明或定义构造函数时不能为其指定返回类型,甚至void也不行。函数修饰符的语法为:函数名(参数列表);构造函数定...原创 2019-11-30 20:25:37 · 178 阅读 · 0 评论 -
C++ 类和对象
类与对象1. 类的定义类类型的形式化定义为:class className{ 属性列表; 行为列表;}; //Java?--无此;类和对象的概念与其它类型一样,类只是一种形式化的规格说明。要使用类提供的功能,必须使用类的实例(类的静态成员例外)。类的实例称为“对象”。一个类可以定义多个对象实例化定义对象的过程称为“实例化(instantiation)”,而一个对象也称为...原创 2019-11-25 09:52:30 · 250 阅读 · 0 评论 -
C++ 继承和派生
继承和派生继承的前提:分类聚集(aggregation)对于那些有明显层次之分的类,在构造后代类对象的时候,不是在其中包含一个前驱类对象,而是在前驱类对象的基础上,在其后面直接添加新的特征。这使得后代对象完全将前驱对象融合在自己内部,而且,每一个后代的前面部分就是一个完整的上一代前驱的对象在C++和其它面向对象的语言中,聚集的实现过程被称为“继承(inheritance)”和“派生(de...原创 2019-11-23 08:35:29 · 418 阅读 · 0 评论 -
C++ 虚函数和多态性
虚函数和多态性多态性的概念实现多态性的基石——虚函数虚函数的概念和特性3. 虚特性的继承虚特性是可以被继承的。在继承树上,一旦基类中的某个函数被声明成是虚的,那么其所有后代中原型相同的函数都将是虚的。如果派生类中重载了一个原型不同的函数,那么这个函数将会怎样来影响虚特性的遗传呢?可以看到,tiger类中的what(int)由于与基类中的同名函数原型不同,因此失去了虚特性,而且我们不能...原创 2019-11-19 16:56:13 · 547 阅读 · 0 评论 -
C++ 运算符重载
运算符重载运算符的重载形式C++程序设计的重要基础是类和对象,允许用户自己定义新的类型C++允许重载现有的运算符,使这些简单易用、众所周知的运算符能够直接作用于用户自定义的类对象,扩大了运算符的作用范围在C++中,很多的运算符被当做是函数,这称为“运算符函数(operator function)”,设运算符为@,那么它对应的运算符函数的原型可以形式化地表示为:返回值类型 operato...原创 2019-11-16 16:01:53 · 597 阅读 · 0 评论