C++相关名词释义,后期有添加

个人笔记:
模板:实例化一个类模板时,真实类型参数表中的参数是具体的类型名,如 string、int 或其他类的名字(如 CStudent)等,它们用来一一对应地替换类模板定义中“类型参数表”中的类型参数。
类模板名 <真实类型参数表>就成为一个具体的类的名字。编译器编译到第 21 行时,就会用 string 替换 Pair 模板中的 T1,用 int 替换 T2,其余部分原样保留,这样就自动生成了一个新的类。这个类的名字编译器是如何处理的不需要知道,可以认为它的名字就是 Pair <string, int>。也可以说,student 对象的类型就是 Pair<string, int>。Pair<string, int> 类的成员函数自然也是通过替换 Pair 模板的成员函数中的 T1、T2 得到的。编译器由类模板生成类的过程叫类模板的实例化。由类模板实例化得到的类叫模板类。

inline:是内联关键字,当成员函数的代码不是很多的,而且在程序中要反复的调用的时候,就可以将此函数设置为内联函数。这样在编译的时候,就会在调用的时候像宏那样的展开,而不是在执行的时候去反复的寻找函数的地址,从而能够提高程序的效率。当然,使用内联函数是以增加内存空间而换取执行效率。

友元函数:必须在类里面申明,而且友元函数一定不是该类的成员函数。因此,这样的“特权”实际上已经不是完全的面向对象设计了,当然,我们也可以不用它。另外,友元函数的申明在派生类无效,除非派生类中再申明一次,当然类型转换为基类时,使用没有任何问题。访问私有(private)或保护(protected)成员(外部访问)

宏与函数
用于调用函数和从函数返回的代码可能比实际执行这个小型计算工作所需要的时间更多,所以宏比函数在程序的规模和速度方面更胜一筹。 更为重要的是函数的参数必须声明为特定的类型。所以函数只能在类型合适的表达式上使用。反之,宏可以适用于整型、长整型、浮点型等可以用于比较的类型。因为宏是类型无关的。

              面向对象思维选自:https://www.cnblogs.com/ideal-20/p/11050146.html

面向对象是一种编程思想,所有事物都可以看做对象,即“万物皆对象”,任何物体都可以归为一类事物,而每一个个体都是一类事物的实例 面向对象则是一种以对象为中心的编程思想,就是通过分析问题,分解出一个一个的对象,然后通过不同对象之间的调用来组合解决问题。建立对象的目的不是为了完成某个步骤,而是为了描述某个事物在解决整个问题的过程中的行为。
面向对象有三大特征:封装继承多态

面向过程是一种以过程为中心的编程思想,其原理就是将问题分解成一个一个详细的步骤,然后通过函数实现每一个步骤,并依次调用。

洗衣服 —— 人放衣服 洗衣机洗衣服

封装
将一类事物的属性和行为抽象为一个类,隐藏信息,留有公开接口访问操作,提高数据的隐蔽性的同时,使代码模块化,复用性更高。
封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式
简单的来说就是我将不想给别人看的数据,以及别人无需知道的内部细节, “锁起来” ,我们只留下一些入口,使其与外部发生联系。

继承
公共行为和属性抽象为一个父类,每一个子类都是一个特殊的父类,有父类的属性和方法,也有自己的属性和方法。进一步的提高了代码的复用性

多态
父类的引用变量可以指向任何一个子类的引用变量(向上转型)。
多态是同一个行为具有多个不同表现形式或形态的能力。
多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person。Person对象买票全价,Student对象买票半价。
1.必须通过基类的指针或者引用调用虚函数
2.虚函数:在类的普通成员函数前加上virtual关键字
3.被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值