C++类的一些知识
来源:互联网 发布:紫川软件招聘 编辑:程序博客网 时间:2024/06/14 13:02
声明部分
- 类的声明应该放在项目的头文件中,方便其他文件中使用该类,并且要注意的是,为了防止多重声明,建议使用头文件保护符来进行保护。
- 类的声明包含两个部分:数据成员和成员函数。
- 一般而言,将数据成员放在私有部分(以private限定符修饰),成员函数放在共有部分(public),作为调用类的接口进行使用。
- 私有部分的数据成员仅限于该类的成员函数进行访问
- 一般的类定义格式如下:
class className{ private: data member declarations; public: member function prototypes;}
定义部分
- 一般在cpp文件中对类进行定义,实质是给出成员函数的实现过程,注意需要将带有类定义的头文件包含到该cpp文件中来。
- 定义的时候需要注意,应使用作用域符号来指明该成员函数的所属,例如Student类中的成员函数studentId():
void Student::studentId(){ ......}
表明这个成员函数是属于Student类的
构造函数
为什么需要用户定义构造函数?
我的理解是,对于创建的一个类,如果采用程序默认的构造函数,那么对象声明后,需要一步一步的调用成员函数来获得有用的数值信息。而我们需要在声明对象时就赋予对象一些所期望的信息,那么这个时候就必须要用户自己来定义构造函数。
构造函数的特点:
1. 构造函数的名字与类名一致,允许重载构造函数来获得更多的不同的初始值对象
2. 注意,构造函数没有返回值,void也没有,就如同下面的原型示例
Student::Student(int id,string sex,int age);
有了构造函数,那么在声明对象时就可以有如下的几种方法
- Student stu = Student {20170101,”male”,23};
- Student stu = Student{20170101,”male”,23};
- Student stu = new Student{20170101,”male”,23};
提醒:对象不能调用构造函数,因为在构造函数构造出对象之前,对象是不存在的,它只能用来创建对象!
一般构造函数实现的过程中,一定要把默认的构造函数也写出来,一般来说默认的构造函数就是无参数并且也不做任何事的,这样的目的是为了预防后续在声明对象时,出现纰漏的情况。
默认构造函数如果有参数,那么必须给所有参数提供初始值!
隐式调用默认构造函数时,不需要加圆括号。
析构函数
什么是析构函数?
类生成的对象过期后,将调用一类函数进行清理的工作,这个函数就是析构函数,它的目的就是对对象失效后进行收尾工作。
析构函数特点:
1. 析构函数的名称与类名一致,前面加一个~
2. 析构函数没有返回类型和声明类型,更进一步,它没有参数列表。
3. 析构函数的原型为:~className();
何时调用析构函数?
阅读全文
0 0
- c 语言的一些知识
- C语言的一些知识
- C++关于类的一些知识
- StringBuilder 的一些小知识(C#)
- [C language]一些零碎知识的解释
- C关于时间的一些知识
- C的一些知识【持续更新】
- C++ 与C的一些知识
- 关于C语言的一些零碎知识
- C语言的一些零碎知识
- Objective C 的一些零碎知识
- C/C++一些零碎的知识
- C一些知识总结
- C一些知识总结
- 集合类的一些知识
- C++类的一些知识
- C语言的问题,关于temp参数的一些知识
- C++的一些知识以及和C语言的不同
- Linux Swap交换分区设置
- HDU2013-今年暑假不AC
- 方法调用指令invoke...
- 2137数据结构实验之求二叉树后序遍历和层次遍历
- android 单元测试
- C++类的一些知识
- UI对象上存在Button组件时无法触发 IPointerClickHandler
- gradient descent梯度下降详解
- LeetCode 81 Search in Rotated Sorted Array II (Python详解及实现)
- Longest Ordered Subsequence(LIS)
- stm32位带
- 练习1
- RxLifecycle使用 解决Rxjava编程的内存泄露问题
- ios下jquery document.on() 无效 ,设置 cursor: pointer;