笔记8 《C++大学教程》
来源:互联网 发布:如何制作游戏 知乎 编辑:程序博客网 时间:2024/06/01 07:59
第九、第十章 类的深入剖析
预处理器指令#ifndef
和 endlif
来阻止重复包含一个头文件。
在类的体中,类的数据成员不能在声明时初始化(初了static
const
数据成员),推荐在类的构造函数中初始化
即使声明在类的定义内的成员函数在类定义的外部定义(使用二元作用域分辨运算符绑定到该类::
),这样的成员函数仍在类的作用域之内
如果成员函数在类的定义体内定义,则C++编译器将试图内联调用该成员函数
包含类对象作为其他类的成员称为组成
在类作用于内,类成员可以被该类所有成员函数直接访问
类的成员函数可以被重载,但只能由该类的其他成员函数重载
圆点成员选择运算符(.
)前加上对象名称或对象的引用可访问对象的public
成员
箭头成员选择运算符(->
)前加上指向对象的指针,可访问对象的public
工具函数是支持类的public
成员函数操作的private
成员函数,可以被类的友元函数是使用
构造函数可以指定默认实参,当类的对象撤销时,类的析构函数被隐式的调用
析构函数的名字是发音字符(~
)后接类的名字,析构函数实际上并不释放对象的存储空间,它在系统回收对象的内存之前执行扫尾工作,不接受参数,也不返回任何值,且一个类只能有一个析构函数,编译器默认提供一个‘空的’析构函数
一般而言析构函数的调用顺序和构造函数的调用顺序相反
赋值运算符可以将一个对象赋给另一个同类型的对象。默认情况下,这样的赋值通过逐个成员赋值的方式进行
对象可以作为函数的实参进行传递,也可由函数返回。默认按值传递,C++创建一个新对象,并使用拷贝构造函数将原始对象的值赋值到新的对象中。
编辑器给每个类提供一个默认的拷贝构造函数
C++编译器不允许const
对象调用非const
成员函数
const
对象必须被初始化而不是被赋值
const
数据成员和引用的数据成员必须使用成员初始化其进行初始化
构造函数和析构函数不可以声明为const
类的friend
函数在类的作用域以外被定义,却具有访问类的非public
(以及public
)成员的权限。单独的函数或整个类都可以声明为另一个类的友元。友元声明可以出现在类的任何地方。友元关系既不是对称的也不是传递的。
每个对象都可以通过this
指针访问自己的地址
new
运算符为对象分配大小合适的存储空间,运行对象的构造函数并返回正确类型的指针
要撤销一个动态分配对象并释放这个对象占用的存储空间必须使用delete
运算符
当没有任何类的对象存在时,类的static
成员依然存在
类的public static
成员可以通过类的任何对象访问
static
态成员函数不具有this
指针
队列中的元素以先进先出
容器类是为保存一组对象而设计的类
迭代器是“遍历”集合的对象,返回集合中下一个元素
- 笔记8 《C++大学教程》
- C大学教程
- java大学教程第一章笔记
- 笔记1 《C++ 大学教程》
- 笔记2 《C++大学教程》
- 笔记3 《C++大学教程》
- 笔记5 《C++大学教程》
- 笔记6 《C++大学教程》
- 笔记7 《C++大学教程》
- 笔记9 《C++ 大学教程》
- 笔记10 《C++ 大学教程》
- 笔记11 《C++ 大学教程》
- 笔记12 《C++ 大学教程》
- 笔记13 《C++ 大学教程》
- c大学程序教程注意点
- 我的大学--孙鑫MFC笔记教程
- 《大学算法教程Algorithms》笔记--Chapter1--Part1
- 《大学算法教程Algorithms》笔记--Chapter1--Part2
- ENVI中shp文件裁剪需要注意的问题
- 命令行工具
- 笔记7 《C++大学教程》
- Linux FTP
- 公司培训终于结束了
- 笔记8 《C++大学教程》
- POJ
- 8-5
- 【hautoj 1279 】简单的背包问题
- Python中的argparse模块
- hdu1248
- HC05蓝牙模块的AT模式设置的方法
- 最短路||HDU2544
- 对XML文件的重新认识,说说XML文件的二三事(三):XML两类解析模式(1)-SAX解析XML