当前位置: 首页 > news >正文

C++类和对象的基础介绍(1)

类的定义

C++类的关键字是class,学过c的朋友们可能会觉得和结构体struct有点像。

在C++中struct也可以定义类,但和class定义的有所区别。

我们还是推荐使用class。

类里面会有成员变量、成员函数的定义和声明、构造函数、拷贝构造函数、析构函数、运算符重载函数等等。。待会你就知道啦.

下面以日期类为例讲解类。

类的基本格式

class Date
{};

class+类的名字+{},记得花括号之后要有英文的逗号。

类的内容就写在花括号里面。

类域(访问限定符)

类定义了一个新的作用域,

类的默认访问权限是私有的(private),

类外的函数无法访问类内的东西,

看下面这段代码

class Date
{
public:Date();//构造函数~Date();//析构函数private:int _year;int _month;int _day;
};

把注意力放在public和private,这俩就是访问限定符。

有了public ,在类外就可以访问Date()和~Date().

有了private,只有在类内才能访问_year,_month,_day.

给大家看看private是如何限制类外访问的。。

如果把_year的声明放到public访问限定符之下,

编译器就不会报错了。。

类和对象

刚刚我们创建了Date类,

d1,d2,d3,都是Date类实例化的对象。

一个Date类实例化出3个对象d1,,d2,d3.

一个类可以有多个对象。

构造函数

构造函数的名字和类名一模一样,

我们定义对象时,什么参数都不传,

系统会帮我们生成无参的构造函数。

不传参数就可以调用的构造函数叫做默认构造,

以Date类为例,

以下三种构造函数都是默认构造函数。

这三种默认构造函数只能写一种。

当我们这样定义d1时,什么参数都没传,就会调用默认构造函数。。

当然我们还是建议定义时传参,就像下面这样:

析构函数

析构函数的主要用处在于,当你开辟了一块内存空间,用完了要记得释放。。

如:

class Date
{
public:int* _year;int* _month;Date(){_year = (int*)malloc(sizeof(12));//开空间_month = new int[4];//开空间}~Date(){free(_year);//释放空间_year = nullptr;delete[]_month;//释放空间}
};


http://www.mrgr.cn/news/9462.html

相关文章:

  • 【Google SEO】搜索引擎索引综合SEO指南
  • C语言网络库libevent浅析
  • 【初阶数据结构】链表题的证明
  • CentOS全面停服,国产化提速,央国企信创即时通讯/协同门户如何选型?
  • 计算机毕业设计选题推荐-法律援助平台-Java/Python项目实战
  • 02:【江科大stm32】:按键控制LED
  • 音频信号编解码原理及在视频制作中的应用
  • 如何选择最佳路线?
  • 初识QT~
  • Vue 组件通信
  • 为什么制造企业数字化转型需要MES管理系统
  • Spring IOC 和 DI 详解(面试常考)
  • UE管理内容 —— FBX Asset Metadata Pipeline
  • Qt+FFmpeg开发视频播放器笔记(二):界面UI搭建
  • postman接口测试
  • ArcMap教程(01):制作人口专题图
  • 双系统ubuntu引导项丢失如何修复
  • HCL AppScan Standard 10.6.0 发布,新增功能概览
  • 什么是聚类?简单描述如下的聚类方法:划分方法,层次方法,基于密度的方法,基于模型的方法。为每类方法给出例子。
  • docker 镜像加速器 实测可用