C++学习笔记之零碎知识点(一)

本文整理了C++学习过程中的易忘知识点,包括常量定义、静态变量、extern存储类等基础知识,以及类定义、成员函数、多态等面向对象编程核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文对自己在学习C++过程当中觉得一些容易忘记的零碎知识点的整理,希望在今后忘记的时候能够再过来回顾一下。

1. C++中常量的定义

可以使用两种方式定义常量:

(1)使用#define预处理器:宏定义是字符替换,没有数据类型的区别,直接替换,不会分配内存

#define PI 3.1415926
上面的一行代码就是定义一个宏变量PI,它的值为3.1415926

(2)使用const关键字定义:这种方法需要进行内存分配

const double PI = 3.1415926;


2. 静态变量static
(1)static修饰局部变量时,可以在函数调用之间保持局部变量的值

(2)static修饰全局变量时,会使变量的作用域限制在它声明的文件内

(3)static修饰类的数据成员上,会导致仅有一个该成员的副本被类的所有对象共享

          静态变量不显式的初始化也会被隐式初始化为NULL或是0.

          定义全局变量时,系统会对其进行自动初始化


3. extern存储类

extern用于提供一个全局变量的引用,在一个文件里可以通过extern引进另一个文件中的全局变量进行调用。


4. 杂项知识点

(1)sizeof用于返回变量类型所占用的字节数

(2)rand()函数返回一个随机数

(3)形参和函数内的其他局部变量一样,在进入函数时被创建,退出函数时被销毁

(4)不能返回一个对局部变量的引用,但是可以返回一个对静态变量的引用

(5)cerr流用来显示错误信息,clog流用来输出日志消息


5. C++面向对象

(1)类定义结束后的分号不能忘记

(2)类成员函数:a.可以定义在类定义内部   b.单独使用范围解析运算符::来定义

(3)类访问修饰符:成员和类的默认访问修饰符是private

      a.公有成员public

      在类的外部是可以访问的

      b.私有成员private

      在类的外部是不可访问的,甚至是不可查看的,只有类和友元函数可以访问私有成员,不能被派生类访问

      实际操作中,我们一般会在私有区域定义数据,在共有区域定义函数

     c.保护成员protected

     保护成员变量和函数与私有成员十分相似,但是有一点不同,保护成员在派生类中是可以访问的

(4)可以使用初始化列表来初始化字段

line::line(double len) :length(len){
	.....
	.....
}

(5)友元函数friend定义在类外部,但是有权访问类的所有私有成员和保护成员,友元函数在类中定义过,但并不是成员函数。同时友元函数的定义不需要加类名,因为它不属于类的成员函数

(6)内联函数:内联函数使用关键字inline,在类定义中定义的函数都是内联函数,即使没有使用inline关键字

(7)类的静态成员的初始化不能放在类的定义中,可以在类外通过范围解析运算符重新声明并初始化

(8)一个派生类继承了所有的基类的方法,但下列情况除外:

     a.基类的构造函数、析构函数和拷贝构造函数

     b.基类的重载运算符

     c.基类的友元函数

(9)函数重载:函数名相同,参数个数以及类型不同

(10)多态:每个子类都有一个基类中函数的独立实现

(11)数据封装:是一种把数据和操作数据的函数捆绑在一起的机制

(12)数据抽象:一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制

(13)C++接口(抽象类):接口描述了类的行为和功能,而不需要完成类的特定实现。如果类中至少有一个函数被声明为纯虚函数(纯虚函数是在声明中使用“=0”来指定的),则这个类就是抽象类。

抽象类不能被用于实例化对象,它只能作为接口使用。如果一个抽象类的子类需要被实例化,则必须实现每个虚函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值