C++学习笔记
一、晨测
-----------------------------------------------------------
大端格式:数值的低字节存储在内存的高地址,数值的高字节存储在内存的低地址
小端格式:数值的低字节存储在内存的低地址,数值的高字节存储在内存的高地址
------------------------------------------------------------
C语言的成长阶段
第一阶段:只写一个.c文件,在.c文件中只写一个main()函数,所有功能在main()函数中实现。
第二阶段:只写一个.c文件,在.c文件中除了main()函数外,还有其他功能函数。
第三阶段:多文件形式编程
fun.c | 功能函数的实现 |
fun.h | 功能函数的声明以及各种定义 |
main.c | main()以及功能函数的调用 |
makefile | 一个脚本文件,存放着工程的编译规则 |
第四阶段:库的封装(当我们想给用户提供功能接口,但不想让用户知道功能接口的具体实现)
------------------------------------------------------------
静态库:
动态库:
将.c文件编译成可执行文件需要经历的阶段:
我们只认源码
计算机只认补码
有符号的数与其反码相加为-1
无符号的数与其反码相加和为最大值
正数的原码与补码相同
负数的原码与补码(先取反,再加1)
------------------------------------------------------------
二、温故知新
1、命名空间
1)作用
多文件/多模块开发避免命名冲突,将全局变量\类\接口限制在命名空间中,就可以避免命名冲突的问题。
2)定义命名空间
namespace Name
{
变量;
类;
函数;
指针;
} // 注意最后没有分号
3)命名空间打开
【1】使用域作用限定符号
Name::成员;
【2】展开命名空间
using namespace Name;
【3】 展开部分命名空间
using Name::成员;
4)标准库
C++标准库都是有命名空间的
C++也为C语言的标准库做了一份拥有命名空间的库是以c开头的
如:cstdio、cstdlib、cstring
2、输入和输出
输入:cin(是istream类的对象)
输出:cout(是ostream类的对象)
cin cout都是对象,所以在使用时粗腰包含头文件iostream
cin >> n; // 需要使用 >> 运算符,是运算符的重载
cout << "hello" << endl; // 需要使用 << 运算符,是运算符的重载
无论是cin还是cout都可以连续进行操作。
3、动态开辟
需要使用两个关键字new和delete,它们是C++的运算符
new 内存分配运算符
delete 取消内存分配运算符
int *p = malloc(sizeof(int)); | int *p = new int |
char *p = malloc(sizeof(char) * 32); | char *p = new char[32]; |
free(p); | delete p; delete[] p; |
4、函数
1)默认参数
如果参数有默认值
【1】要求默认值参数在参数列表的最后
【2】要求默认参数在函数的声明进行设置
2)函数重载
函数名相同,参数列表不同,返回值无所谓
参数列表不同,具体指:
【1】个数不同
【2】类型不同
【3】顺序不同
5、引用
引用必须在初始化进行赋值,也就是在定义的时候就需要明确应用目标对象。
引用可以实现形参改变实参。
引用要从一而终,也就是只能一直作为某个对象的引用,不可以更换。
6、面向对象
所谓面向对象,就是在解决问题时,首先划分模块,再抽象类型,再去实现类,最后通过实例化对象,实现目标功能。
典型的面向对象的开发语言:C++、JAVA、Python、GO。。。
三、类
1、类的定义
1)关键字
使用class关键字(使用struct关键字也可以),class用于定义类,是抽象的概念,当只定义了类时,这个类不占用存储空间,只有在创建对象的时候会占用存储空间。
2)内容
定义类应当包含以下内容:
【1】关键字class
【2】类名
【3】访问修饰符(public[公有的]、private[私有的]、protected[受保护的])
不指定访问修饰符时,默认是private修饰符
【4】类的成员变量(描述类的属性)
【5】类的成员函数(描述类的行为)
【6】分号;
如:定义一个人的类
属性:身份证号、姓名、年龄、身高、性别。。。
行为:吃饭、睡觉、打豆豆。。。
class classname // 类名
{
// public\private\protected
访问修饰符 :
int id;
char name[];
char sex;
void sleep(void);
}; // 分号,结束一个类
</
原文地址:https://blog.csdn.net/qq_45882170/article/details/140305308
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!