类和对象
文章平均质量分 64
类和对象
linuxcpp_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
类和对象(10)--运算符重载
类和对象--运算符重载1 运算符重载1.1 加号运算符重载1.2 左移运算符重载1.3 前置后置递增运算符重载1.4 指针运算符重载1.5 赋值运算符重载1.6 []运算符重载1.7 关系运算符重载1.8 函数调用运算符重载 [ ()运算符重载--仿函数 ]1 运算符重载所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能,因此,一个函数名就可以用来代表不同功能的函数,也就是”一名多用”。运算符重载的本质是函数重载。重载函数的一般格式如下: 函数类型 oper原创 2021-01-15 17:34:03 · 193 阅读 · 0 评论 -
类和对象(9)--友元
类和对象--友元1 友元1.1 友元函数1.1.1 全局函数作为友元函数1.1.2 类中的成员函数作为友元函数1.2 友元类1 友元采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检查等都需要时间开销)原创 2021-01-12 21:37:54 · 301 阅读 · 0 评论 -
类和对象(8)--常函数和常对象
类和对象--常函数和常对象1 常函数1.1 this指针的本质1.2 常函数的原理1.3 常函数的语法2 常对象2.1 常对象的语法2.2 使用常对象的注意事项3 mutable 关键字 -- 在常函数或者常对象中可以修改成员变量1 常函数1.1 this指针的本质假设有一个Person类。那么这个this指针的本质就是:Person * const this;// 此时,指针的指向不可以修改,而指针指向的值是可以修改的。1.2 常函数的原理添加关键字,修饰成员函数中this指针,让th原创 2021-01-09 23:34:43 · 343 阅读 · 0 评论 -
类和对象(7)--空指针访问类成员函数
类和对象--空指针访问类成员函数1 空指针访问成员函数1 空指针访问成员函数如果成员函数中没有用到this指针,可以用空指针调用成员函数如果成员函数中用到了this(访问了其成员变量),那么这个this需要加判断,防止代码down掉(如下方代码注释一)#include <iostream>using namespace std;class Person{public: void showPerson() { cout <<原创 2021-01-09 22:55:36 · 348 阅读 · 0 评论 -
类和对象(6)--this指针
类和对象--this指针1 this 指针1.1 this 指针的工作原理2 this 指针的使用(用途)3 this 指针--链式编程1 this 指针this指针指向被调用的成员函数所属的对象1.1 this 指针的工作原理c++类中成员对象和成员函数是分开存储的(数据和操作是分开存储的),并且每一个非内联成员函数只会诞生一份函数实例,也就是说多个同类型的对象会共用一块代码。问题:这一块代码是如何区分那个对象调用的,使用那一份数据??解决办法:c++通过提供特殊的对象指针–this指针原创 2021-01-09 20:10:24 · 235 阅读 · 0 评论 -
类和对象(5)--编译器对类对象的处理机制
类和对象--编译器对类对象的处理机制1 编译器对类对象的处理机制2 编译器对类对象的处理机制总结1 编译器对类对象的处理机制C++类对象中的成员变量和成员函数是分开存储的成员变量1 普通成员变量:存储在对象中,与struct变量有相同的内存布局和对齐方式。2 静态成员变量:存储在全局数据区中。成员函数:存储在代码段中。2 编译器对类对象的处理机制总结C++类对象中的成员变量和成员函数是分开存储的。C语言中的内存四区模型仍然有效。C++中类的普通成员函数都隐式包含一个指向当前对象的th原创 2021-01-09 19:23:46 · 283 阅读 · 0 评论 -
类和对象(4)--静态成员变量和静态成员函数
类和对象--静态成员变量和静态成员函数1 静态成员变量2 静态成员变量总结3 静态成员函数4 静态成员函数总结1 静态成员变量在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。 类内声明,类外初始化/*// 声明static 数据类型 成员变量; // 在类内部// 初始化static 类名::静态成员变量 = 初值; // 在类原创 2021-01-09 16:17:24 · 183 阅读 · 0 评论 -
类和对象(3)--构造函数和析构函数
类和对象--构造函数和析构函数1 构造函数1.1 定义1.2 调用1.3 特点2 析构函数1.1 定义2.2 调用2.3 特点3 构造函数的分类及调用 ★1 构造函数1.1 定义C++中的类可以定义与类名相同的特殊成员函数,这种与类名相同的成员函数叫做构造函数. /*class 类名{ 类名(形参) { 构造体 } }*/class A{ A(/*形参*/) {}}1.2 调用自动调用:一般情况下C++编译器会自动调用构造函数.手动调用:在一些情况下则需要手工原创 2021-01-07 23:41:06 · 675 阅读 · 0 评论 -
类和对象(2)--封装和访问控制
类和对象--封装和访问控制1 封装和访问控制1.1 C语言和C++封装1.1.1 C语言封装1.1.2 C++封装:1.2 封装的访问属性1.2.1 struct和class关键字区别2 扩展--尽量将成员属性设置为私有1 封装和访问控制1.1 C语言和C++封装1.1.1 C语言封装当单一变量无法完成描述需求的时候,结构体类型解决了这一问题。可以将多个类型打包成一体,形成新的类型。 这是C语言中封装的概念。特点:将属性和行为分离1.1.2 C++封装:用class去封装带行为的类class原创 2021-01-07 00:03:08 · 189 阅读 · 0 评论 -
类和对象(1)--基本概念
类和对象--基本概念1 基本概念1.1 类和对象1.2 成员变量和成员函数1 基本概念1.1 类和对象1.2 成员变量和成员函数原创 2021-01-06 15:33:33 · 158 阅读 · 0 评论
分享