C++学习面向对象(1)——类的基本概念知识
2022/9/11 1:23:15
本文主要是介绍C++学习面向对象(1)——类的基本概念知识,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
C#和C++的部分面向对象方式类似,只记录不同点。
定义类与关键字:
下面是C++类的定义方式与C++关键字public和private的表达方式:
class Box { private: // 私有成员 public: // 公共成员 };
函数:
在类内定义的函数被隐式声明为内联函数
构造函数:
如果没有给指针类型和基本类型成员赋值(或者初始化),他们将会包含垃圾值
如果已经定义了一个构造函数,无论怎样,编译器将不会再去构造一个默认无参
这样做能初始化一个对象:
Box a; // a被初始化了
可以在类内用Default创建一个默认无参的构造函数:
Box() = default;
在类内用default创建的构造函数,在源文件不能有定义
所有参数都有默认值的构造函数仍然算作默认构造函数
可以用初始化列表来初始化成员变量:
Box::Box(double lv, double wv...) : length = lv, width = wv... { //code-in }
构造函数只有一个参数(或者只有第一个参数没有默认值的)是有问题的,编译器可以用这种构造函数吧参数类型转换为类类型
可以使用explicit关键字限定:
explicit Cube(double aside);
委托构造函数可以如下表达:
Box::Box(double lv, double wv...) : length = lv, width = wv... { //code-in } Box::Box(double side) : Box(side, side...) { //code-in }
副本构造函数的实参必须是引用(最好为const引用)
this指针:
返回this指针需要将函数类型转为指针类型
可以依靠this指针构造一个方法链:
// 所有的成员函数都为指针类型且返回this指针 myBox.setLength(20.0).setwidth(40.0).setHeight(10.0);
友元:
友元可以访问类中的所有对象,但破坏了OOP原则(封装)
在类中使用指针:
这里懒得写解释了直接上全部实例代码:
点我打开
之后可能会多写一些博客笔记,顺便在上面登记一些程序(轮子)和习题(**算法~)^_^
这篇关于C++学习面向对象(1)——类的基本概念知识的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-01巧用 TiCDC Syncpoint 构建银行实时交易和准实时计算一体化架构
- 2024-05-01银行核心背后的落地工程体系丨Oracle - TiDB 数据迁移详解
- 2024-04-26高性能表格工具VTable总体构成-icode9专业技术文章分享
- 2024-04-16软路由代理问题, tg 无法代理问题-icode9专业技术文章分享
- 2024-04-16程序猿用什么锅-icode9专业技术文章分享
- 2024-04-16自建 NAS 的方案-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数, 加上remote_src: yes 配置-icode9专业技术文章分享
- 2024-04-14ansible 检测远程主机的8080端口,如果关闭,则echo 进程已关闭-icode9专业技术文章分享
- 2024-04-14result 成功怎么写-icode9专业技术文章分享