C++ OOP Feature Conclusion (更新中)
创始人
2025-05-30 07:53:21
0

目录

1.类与对象

       1.1 基本概念(继承、封装、抽象、多态)

        1.2类的声明

        1.3成员函数(对象所占空间取决于数据成员,和成员函数无关)

        1.4数据成员(不能在类中初始化)

        1.5构造与析构函数(自动执行,顺序为栈)

        1.6对象的定义

        1.7对象数组(析构过程为栈)className instances[size] ={Obj1(),Obj2(...),...}

        1.8对象指针(this)

        1.9对象成员的访问(成员运算符访问、指向运算符访问、引用)

        1.10对象与const

       1.11 对象的动态创建与释放 className *instance = new className(params...)  ; delete instance

        1.12对象的赋值与复制

2.继承与派生(派生会自动屏蔽基类同名成员;)

        2.1基本概念(三种继承方式)

       2.2 单继承

        2.3派生类构成

        2.4访问属性

        2.5构造与析构(先执行基类构造,后执行基类虚构)

        2.6多继承 class className:limitation baseClass1,limitation baseClass2{...}

        2.7对象关系(派生类可以赋值给基类)

3.多态与虚函数

        3.1基本概念(编译时多态、运行时多态)

        3.2向上类型转换

        3.3功能早绑定(编译阶段)

        3.4功能晚绑定(运行阶段,虚函数:virtual returnType functionName (params...))

        3.5虚析构函数

        3.6虚函数与重载的区别(p177)

        3.7纯虚函数与抽象类

4.友元与静态

        4.1基本概念

        4.2友元函数 friend returnType functionName(params...) 在类中声明 

        4.3友元类 friend className

        4.4静态数据成员(只能在类中声明,类外初始化)

        4.5静态成员函数(没有this指针,不能访问非静态成员,除非传入对象)

5.运算符重载

        5.1基本概念

        5.2重载规则

6.泛型编程

       6.1 基本概念

       6.2 函数模板

        6.3类模板

7.STL


1.类与对象

       1.1 基本概念(继承、封装、抽象、多态)

                类

                对象

                访问限制符

        1.2类的声明

        1.3成员函数(对象所占空间取决于数据成员,和成员函数无关)

        1.4数据成员(不能在类中初始化)

        1.5构造与析构函数(自动执行,顺序为栈)

                构造函数(系统提供默认构造函数)

                        参数初始化表

                        重载

                析构函数(只能有一个,不能重载,无参)

                        全局对象的调用时间

                        局部对象的调用时间

                        静态局部对象调用时间

        1.6对象的定义

        1.7对象数组(析构过程为栈)className instances[size] ={Obj1(),Obj2(...),...}

        1.8对象指针(this)

        1.9对象成员的访问(成员运算符访问、指向运算符访问、引用)

        1.10对象与const

                常对象(无法调用非const成员函数) const className instance()  | className const instance()

                常对象成员

                        常成员函数(只能访问数据成员,不能修改) returnType functionName(params...) const

                        常数据成员

                指向对象的常指针(不能修改指针)className * const pointerName = &instance

                指向常对象的指针(常对象只能用指向常对象的指针,不能使用普通指针)const className * pointerName

       1.11 对象的动态创建与释放 className *instance = new className(params...)  ; delete instance

        1.12对象的赋值与复制

                赋值(赋值运算符 = 默认重载,含指针数据成员的类必须自己实现运算符重载,否则产生指针悬挂问题 )object1 = object2

                复制(拷贝构造函数:className (const className &obj)) className instance(instance1) |  className instance = instance1

                两者异同:

2.继承与派生(派生会自动屏蔽基类同名成员;)

        2.1基本概念(三种继承方式)

       2.2 单继承

        2.3派生类构成

        2.4访问属性

        2.5构造与析构(先执行基类构造,后执行基类虚构)

                构造 className(params...):baseClass(paramValue...){}

        2.6多继承 class className:limitation baseClass1,limitation baseClass2{...}

        2.7对象关系(派生类可以赋值给基类)

3.多态与虚函数

        3.1基本概念(编译时多态、运行时多态)

        3.2向上类型转换

        3.3功能早绑定(编译阶段)

        3.4功能晚绑定(运行阶段,虚函数:virtual returnType functionName (params...))

        3.5虚析构函数

        3.6虚函数与重载的区别(p177)

        3.7纯虚函数与抽象类

                纯虚函数 virtual returnType functionName(params...) =0

                抽象类 (具有一个纯虚函数的类为抽象类,只能作为接口,不能生成对象)

4.友元与静态

        4.1基本概念

        4.2友元函数 friend returnType functionName(params...) 在类中声明 

        4.3友元类 friend className

        4.4静态数据成员(只能在类中声明,类外初始化)

        4.5静态成员函数(没有this指针,不能访问非静态成员,除非传入对象)

5.运算符重载

        5.1基本概念

        5.2重载规则

6.泛型编程

       6.1 基本概念

       6.2 函数模板

                函数模板定义

                函数模板实例化(编译器自动识别)

                模板参数(注意:c++不对模板参数做任何类型转换,需要手动转换。不能提供参数默认值)

                模板函数重载(指的是模板函数也可以被普通函数重载)

        6.3类模板

                类模板定义

                类模板实例化(className instance)

                类模板参数(可以提供参数默认值,只能放在形参表的最右端,否则出错)

7.STL

        algorithm.h

        deque.h(双向队列)

        functiona.h

        iterator.h

        vector.h(向量)

        list.h(双向链表)

        map.h(键值映射)

        memory.h

        numeric.h

        queue.h(队列)

        set.h(不重复集合和可重复集合)

        stack.h(堆栈)

        utility.h

相关内容

热门资讯

阿联酋最大银行及另两家中东银行... 观点网讯:5月8日,路透社报道指,阿联酋最大银行第一阿布扎比银行(First Abu Dhabi B...
深圳239亿地王易主,再造万象... 2017年,世茂集团豪掷239.43亿元拿下世茂深港国际中心地块,曾规划建筑高度达700米的深圳第一...
蔚来在安庆成立新能源科技公司 ... 天眼查App显示,近日,安庆蔚来新能源科技有限公司成立,法定代表人为姚蒀,注册资本500万人民币,经...
美国牛肉商期盼峰会重启对华出口 据路透社5月8日报道,美国牛肉生产商正期待特朗普与中国于5月14日至15日的峰会推动对华出口许可恢复...
创业板首家未盈利企业,市值突破... 5月8日,大普微总市值正式突破2000亿元大关。截至午间收盘,大普微涨14.07%,报493.1元/...
招商证券:董事长霍达因工作变动... 招商证券公告,公司董事长霍达因工作变动申请辞去董事长、执行董事等全部职务,辞任自辞呈送达董事会之日生...
原创 中... 【阅读须知】本文所引用的所有信息和数据,均为作者通过查阅官方资料与网络公开数据整理、分析而成,旨在为...
原创 从... 2026年5月5日,中国商务部发布了一项具有划时代意义的专项阻断禁令,这份公告让一向倚仗长臂管辖的美...
布米普特拉北京投资基金管理有限... 美国圣路易斯联邦储备银行总裁穆萨莱姆周三发出明确信号,美联储货币政策面临的潜在风险正在发生关键转向。...
加工的秘密:超精加工设备如何做... 你知道吗? 一根头发丝的直径大约0.07毫米,也就是70微米。 超精加工设备,可切出表面,其尺寸为0...
招商证券董事长霍达因工作变动离... 北京商报讯(记者 刘宇阳 实习生 王思奕)5月8日,招商证券发布关于公司董事长离任暨推举董事代行董事...
华帝股份营收创近3年新低,37... 乐居财经李兰近日,华帝股份(002035.SZ)发布2025年年度报告。 2025年,华帝股份实现营...
大模型融资杀疯了!月之暗面狂揽... 图源:视觉中国 5月7日,据华峰资本官微消息,国内头部大模型公司月之暗面(Kimi)于近日完成新一轮...
扎根长宁二十余载,仲利国际融资... 作为总部扎根上海长宁的优质台资金融企业,仲利国际融资租赁有限公司深耕融资租赁行业二十余载,始终坚守金...
估值210亿!李彦宏又将收获一... 来源:直通IPO,文/王非 国产GPU上市潮仍然汹涌,继两家登陆A股、两家登陆H股后,这家公司正推进...
基金“盲盒”拆了 公募基金正在迎来一场让投资者“看得懂”的变革。 近日,华夏、易方达、南方、招商等12家头部及特色基金...
原创 2... 前言 十年间,中国企业在印尼镍产业链累计砸下超过140亿美元,电厂、公路、码头和全套生产线,硬生生...
原创 欧... 俄罗斯卫星通讯社5月6日报道,欧盟宣布禁止欧洲银行为含有来自不可靠供应商的关键部件的可再生能源项目提...
原创 余... 2026年5月2日,在中国理财市场扎根十三年的余额宝,终于触碰到了一个让所有人错愕的数字——7日年化...
银华基金增聘谭普景共同管理银华... 来源:新浪基金∞工作室 5月8日,银华基金管理股份有限公司发布公告称,为银华中证机器人交易型开放式指...