IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++周总结-引用、类和对象 -> 正文阅读

[C++知识库]C++周总结-引用、类和对象

C++周总结

一 、引用

  • 引用本质是指针常量
    最开始定义的时候就需要初始化,且不能修改引用的指向。
int &b = a; //初始化
int c = 20;

b = c; //此为赋值操作,不是修改指向
  • 引用作为函数返回值
  1. 不能返回局部变量的引用
  2. 函数引用可以作为左值

函数默认参数

  • 函数声明和函数实现中只能有一个地方有默认值
  • 在函数重载时候,少用默认参数,避免出现二义性
//应当避免这种情况
void func(int a, int b = 10)
{
}
void func(int a)
{
}

重载运算符

  • 以重载+为例,实现两个box对象相加
//在类里重载
Box operator(const Box& b);

//在类外
Box operator(const Box& a, const Box& b)

访问修饰符

  • private:只有类里面可以访问
  • protect:子类,自己可访问,类外不可
  • public: 所有均可访问

对类文件拆分

  • 头文件里定义类,而且函数方法只写声明
  • cpp文件里写函数实现方法, 并且需要写作用域
int MyClass::getClassMember()
{

}
  • #pragma once 放在cpp里,防止头文件重复包含

构造函数调用

显示法
Person p1;
Person p2 = Person(10);
Person p3 = Person(p1);

隐式法
Person p1;
Person p2 = 10;
Person p3 = p1;

括号法
Person p1;
Person p2(10);
Person p3 (p1);
  • 拷贝构造函数
Person(const Person &p)
{

}
  • 当有了有参构造函数,编译器就不再提供默认构造函数
  • 当有了自定义拷贝构造函数,就不会提供其他构造函数

深拷贝与浅拷贝

浅拷贝可能会带来堆区内存重复释放的问题,比如一个对象有个指针,那么他的浅拷贝(默认拷贝构造函数)的对象里的指针指向的内存和原来的对象里指针指向的内存是同一片空间。

Person (const Person &p)
{
	age = p.age;
	height = new int(*p.height);
}

初始化列表

Person (int x, int y, int z):a(x), b(y), c(z)
{
}

对象最为对象成员

  • 先构造成员类,再构造自己
  • 先析构自身,再析构成员

静态成员函数,变量(对象)

  • 所有对象共享同一个函数
  • 静态成员函数只能访问静态成员变量,不能访问其他变量
  • 静态成员函数调用
Person::func();

//或者
Person p;
p.func();
  • 静态成员变量
    (1)类内声明,类外赋值
    (2)所有对象共享同一份数据
  • 只有非静态变量的内存才会挂在对象上
  • 空对象大小为1字节
  • tips: C++继承中,可以继承多个父类
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:12:27  更:2021-10-18 17:13:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:51:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码