C++从入门到出门,持续更新

本文详细介绍了C++与C语言的区别,包括面向对象与面向过程的特性,标识符规则,数据类型,内存管理,以及指针、引用、常量的使用。此外,还涵盖了函数参数、重载、类与对象的概念,构造函数和析构函数的作用,以及C++中的访问权限控制。同时强调了良好的编程规范,如避免返回局部变量地址,正确使用new和delete等。
摘要由CSDN通过智能技术生成

c++是一门面向对象编程,泛型编程语言,而c是面向过程语言。

标识符:1.不可以是关键字

                2.首字符必须是字母或者下划线

                3.可由字母,下划线,和数字组成

                4.区分大小写

数据类型所占字节用sizeof(数据类型/变量)查

编译器默认小数为双精度,定义float类型变量时,在小数后加f

科学计数法(例:float f = 3e2; //3x10^2     float f = 3e-2;//3x10^-2)

使用string时要加头文件

a---97

A---65

内存分区 :1和2是程序运行前, 3和4是程序运行后

1.代码区:存放二进制代码

特点:只读,共享。

2.全局区:存放全局变量,静态变量以及常量,程序结束由os释放

3.栈区:编译器自动分配和释放

4.堆区:程序员手动分配(new)和释放(delete)

局部变量:函数体内的变量

全局变量:函数体外的变量

静态变量:static int a = 10;

常量:分为字符串常量和const修饰常量

const修饰常量分为const修饰的全局变量(全局常量)和const修饰的局部变量(局部常量)

常量中除了局部常量都在全局区

函数返回不要返回局部变量地址

new:起别名

本质:指针常量

new返回的类型为变量类型的指针

用法:int* p = new int(10);

            delete p;

            int* arr = new int[10];

            delete [] arr;

指针变量为局部变量

引用:起别名

用法:int a = 10;

            int &b = a;

注:1.引用必须初始化,且初始化后不可改变

        2.不能返回局部变量的引用

        3.如果函数的返回值为引用,函数调用可以做左值

const修饰指针:1. 常量指针 const int* a = &b;//指针指向可以变,指向的值不可以变

                             2.指针常量 int* const a = &b;//指向的值可以变,指针指向不可以变

                             3.const int* const a = &b;//啥都不可变

引用必须引用一块合法的内存空间

const int &val;//防止误操作

const int &ref = 10; //相当于 int temp = 10; const int &ref = temp;

形参可以设置默认值

注:1.某位置设置默认值,那么知道末尾都必须设置默认值

        2.函数的声明和实现,两者中只能有一者中设置默认值

占位参数可以有默认值

重载条件:

1.在同一作用域

2.函数名相同

3.参数类型 ,顺序或个数不同

相同性质的对象抽象为类

类创建为对象叫做实例化

在c++中字符串可以赋值

类中属性和行为称为成员

访问权限:

私有权限:类内可以访问,类外不可访问,子不可继承

保护权限:类内可以访问,类外不可访问,子可继承

公共权限:类内可以访问,类外可以访问,子可继承

struct与class区别为默认权限:

struct默认权限为公共权限

class默认权限为私有权限

成员属性设为私有优点:

1.读写权限可控

2.检测写权限的数据有效性

构造函数:初始化操作

语法:类名(){}

1.构造函数没有返回类型,也不需要写void

2.函数名与类名一致

3.可以有参数,可以发生重载

4.程序在调用对象前会自动调用,且只调用一次,无需手动

析构函数:清理数据

语法:~类名(){}

1.析构函数没有返回类型,void也不需要写

2.函数名与类名一致,且在类名前加~

3.无参数,不可发生重载

4.程序在对象销毁前会自动调用,且只调用一次,无需手动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值