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