Post on: 2024-9-16Last edited: 2024-9-25Words 00 min

type
status
date
slug
summary
tags
category
icon
password

在C++类中的三种访问权限

  • 公共权限 public 类内可以访问 类外可以访问
  • 保护权限 protected 类内和派生类中可以访问 类外不可以访问
  • 私有权限 private 类内可以访问 类外不可以访问

c++中class和struct的区别

clas里面的访问权限默认是private,而struct的则是public
······
相比之下,class的用法更加的灵活

对象的初始化和清理(构造函数和析构函数)

  • 构造函数:主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无须手动调用。
  • 析构函数:主要作用在于对象销毁前系统自动调用,执行一些清理工作。

构造函数的分类

深拷贝和浅拷贝

浅拷贝,就是编译器默认提供的拷贝

类对象作为成员变量

静态成员变量

  • 所有对象共享同一份数据
  • 在编译阶段分配内存
  • 类内声明,类外初始化

静态成员函数

  • 所有对象共享同一个函数
  • 静态成员函数只能访问静态成员变量

C++对象模型和this指针

在C++中,类内的成员变量和成员函数分开存储,只有非静态成员变量才属于类的对象上,而且对于一个空类,其占一个字节。
  1. 非静态成员变量:这些变量是属于类的对象的,每个对象都有自己的一份非静态成员变量的副本。
  1. 静态成员变量:这些变量属于整个类,而不是某个特定的对象,所以它们在内存中只有一份。
  1. 成员函数:无论是静态还是非静态成员函数,它们在内存中也只有一份,不属于某个特定的对象。
this指针指向被调用的成员函数所属的对象
this指针的用途:
  • 当形参和成员变量同名时,可用this指针来区分
  • 在类的非静态成员函数中返回对象本身,可使用return *this
用其实现链式结构
Person *p=NULL;,这种空指针可以访问类中的成员函数,但是如果用到了this指针,就不可以了,因为这时候相当于this指针是空指针,没有指向任何一个对象。
常函数:
  • 成员函数后加const后我们称为这个函数为常函数
  • 常函数内不可以修改成员属性
  • 成员属性声明时加关键字mutable后,在常函数中依然可以修改
常对象:
  • 声明对象前加const称该对象为常对象
  • 常对象只能调用常函数

运算符重载

依次输出

多态

多态分为两类
  • 静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名
  • 动态多态: 派生类虚函数实现运行时多态
静态多态和动态多态区别:
  • 静态多态的函数地址早绑定 - 编译阶段确定函数地址
  • 动态多态的函数地址晚绑定 - 运行阶段确定函数地址
多态使用:父类指针或引用指向子类对象
 

python的一些知识总结

🗒️python的一些知识总结

python学习


初识rsa加密

🗒️初识rsa加密