自学内容网 自学内容网

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)!