没有合适的资源?快使用搜索试试~ 我知道了~
C++面向对象程序设计基础(笔记).pdf
需积分: 0 1 下载量 71 浏览量
2024-06-03
17:18:36
上传
评论
收藏 1.1MB PDF 举报
温馨提示
试读
65页
里面记录了我在学习C++面向对象程序设计时候的一些笔记,知识点覆盖较为全面,比较适合简单自学或者进行期末复习,因为是初期产品,里面并没有STL的相关内容,全文原为markdown后改为PDF,并编好页码,方便打印学习和复习。
资源推荐
资源详情
资源评论
哔哩哔哩/CSDN:美丽新科技
Github:liujitong
免费分享,禁止商用
如需更改(或无水印版本)
请联系作者
2023
刘纪彤
2023-
5-15
C++笔记
作者邮件:liumeili666@outlook.com
哔哩哔哩/CSDN:美丽新科技
Github:liujitong
免费分享,禁止商用
如需更改(或无水印版本)
请联系作者
~ 1 ~
C++ 面向对象程序设计基础 ....................................................................................................... 3
如何写一个 C++程序 .................................................................................................................. 3
基础知识 ................................................................................................................................................ 3
数据类型 ................................................................................................................................................ 4
字符型的不同............................................................................................................................ 5
运算符 ...................................................................................................................................................... 5
循环 ............................................................................................................................................................ 5
数组 ............................................................................................................................................................ 5
指针 ............................................................................................................................................................ 5
函数............................................................................................................................................................ 6
结构体...................................................................................................................................................... 7
引用 .................................................................................................................................................................... 7
内存分区......................................................................................................................................................... 8
C++内存分区模型......................................................................................................................... 8
new 操作符........................................................................................................................................ 10
函数拓展....................................................................................................................................................... 10
函数默认参数 ..................................................................................................................................10
占位参数.............................................................................................................................................. 11
函数重载.............................................................................................................................................. 11
运算符重载................................................................................................................................................. 13
运算符重载的概念....................................................................................................................... 13
运算符重载的基本语法 ........................................................................................................... 14
加法运算符重载 ............................................................................................................................ 14
左移(<<)运算符重载 ................................................................................................................. 16
自增运算符重载 ............................................................................................................................ 17
赋值运算符重载 ............................................................................................................................ 19
关系运算符重载 ............................................................................................................................ 20
函数调用运算符重载 ................................................................................................................. 21
重载运算符的注意事项 ........................................................................................................... 22
重载运算符的应用 ....................................................................................................................... 23
类和对象(封装和对象的初始化和清理) ..................................................................... 23
封装 .......................................................................................................................................................... 23
对象的初始化和清理-(构造函数和析构函数) ...................................................... 23
哔哩哔哩/CSDN:美丽新科技
Github:liujitong
免费分享,禁止商用
如需更改(或无水印版本)
请联系作者
~ 2 ~
构造函数的分类及调用 .................................................................................................. 25
深拷贝和浅拷贝 .................................................................................................................... 32
初始化列表 ............................................................................................................................... 34
类对象作为成员 .................................................................................................................... 34
静态成员 ..................................................................................................................................... 36
类和对象(C++对象模型和 this 指针,友元) .......................................................... 39
C++对象模型和 this 指针 ..................................................................................................... 39
const 修饰成员函数 ................................................................................................................... 41
友元 .......................................................................................................................................................... 42
类和对象(继承) ........................................................................................................................................ 45
继承 .......................................................................................................................................................... 45
私有继承 ..................................................................................................................................... 46
公共继承 ..................................................................................................................................... 47
保护继承 ..................................................................................................................................... 47
多继承 ........................................................................................................................................... 49
虚继承 ........................................................................................................................................... 49
类和对象(多态) ............................................................................................................................... 51
多态 .......................................................................................................................................................... 51
多态的分类 ............................................................................................................................... 51
多态的实现 ............................................................................................................................... 53
多态的好处 ............................................................................................................................... 53
多态的弊端 ............................................................................................................................... 54
虚函数 .................................................................................................................................................... 54
虚函数的声明.......................................................................................................................... 54
纯虚函数和抽象类 .............................................................................................................. 54
虚析构函数和纯虚析构函数 ....................................................................................... 55
模板 .................................................................................................................................................................. 58
函数模板 .............................................................................................................................................. 58
类模板 .................................................................................................................................................... 59
文件 .................................................................................................................................................................. 61
文本文件 .............................................................................................................................................. 62
二进制文件 ........................................................................................................................................ 63
哔哩哔哩/CSDN:美丽新科技
Github:liujitong
免费分享,禁止商用
如需更改(或无水印版本)
请联系作者
~ 3 ~
C++ 面向对象程序设计基础
前言:这个笔记仅针对具有 C 语言基础的人来看。不过推荐学完 C 语言再来看这
篇文章
如何写一个 C++程序
以下是一个示例程序,输出 Hello world。编译器我们可以用 VScode,VS,
DEVC++,也就是说可以用写 C 语言的编译器写 C++。需要注意的是 VS2019 是支
持中文变量的。也就是说,我们可以写以下的代码
int 中文字符;
这只是一个示例程序:
#include<iostream>
using namespace std;
int main() {
cout << "Hello world" << endl;
system("pause");//
这一行代码可有可无,取决于自己的编译器
return 0;
}
基础知识
C++和 C 语言在常量和变量的定义基本上是相同的。因为有了 C 语言的基础,所
以这个笔记就不展开叙述了。
C++和 C 语言一样都可以用#define 定义常量和 const 定义一个常量
C++同样不支持用其关键字定义变量或者常量,在给变量或者常量起名称时候,不
要用 C++得关键字,否则会产生歧义。 我们所能见到的 C++关键字如下:
asm do if return typedef
auto double inline short typeid
bool dynamic_cast int signed typename
break else long sizeof union
case enum mutable static unsigned
catch explicit namespace static_cast using
char export new struct virtual
哔哩哔哩/CSDN:美丽新科技
Github:liujitong
免费分享,禁止商用
如需更改(或无水印版本)
请联系作者
~ 4 ~
asm do if return typedef
class extern operator switch void
const false private template volatile
const_cast float protected this wchar_t
continue for public throw while
default friend register true
delete goto reinterpret_cast try
对于标识符的命名规则是和 C 语言相同的
• 标识符不能是关键字
• 标识符只能由字母、数字、下划线组成
• 第一个字符必须为字母或下划线
• 标识符中字母区分大小写
数据类型
包括整形,浮点型,字符型,其所占空间与 C 语言大致类似。同时,都可以利用
sizeof 这一个关键字输出数据类型所占空间的大小。
可以运行以下代码,来理解一下 C++的各种数据类型所占空间的大小:
#include<iostream>
using namespace std;
int main() {
cout << "short 类型所占内存空间为: " << sizeof(short) << endl;
cout << "int 类型所占内存空间为: " << sizeof(int) << endl;
cout << "long 类型所占内存空间为: " << sizeof(long) << endl;
cout << "long long 类型所占内存空间为: " << sizeof(long long) << endl;
return 0;
}
当然了这行代码也可以运行在 C 语言中,只需要把 cout 改写成 printf 格式就可以
了。
以下是一些转义字符
转义字符 含义
ASCII
码值(十进制)
\a
警报
007
\b
退格(BS) ,将当前位置移到前一列
008
剩余64页未读,继续阅读
资源评论
美丽新科技
- 粉丝: 29
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功