游戏开发之类的构造函数和析构函数(C++基础)

构造函数主要作用在于创建对象时为对象的成员属性赋值, 构造函数由编译器自动调用, 无须手动调用。
析构函数主要用于对象销毁前系统自动调用, 执行一些清理工作。
构造函数语法: 构造函数函数名和类名相同, 没有返回值, 不能有void,但可以有参数。 类名(形参列表){函数体}
析构函数语法: 析构函数函数名是在类名前面加”~”组成,没有返回值, 不能有 void,不能有参数, 不能重载。 ~类名(){函数体}

类的构造函数按照参数类型分类:分为无参构造函数有参构造函数

1.类的构造函数和析构函数声明及定义

class A{public://构造函数权限一般是public类型的,如果不是,则无法直接创建类对象//如果没有书写构造函数,编译器会帮我们自动创建一个构造函数。如果我们自己书写了构造函数,编译器不会生成默认构造函数//构造函数是没有返回值类型的并且在构造函数中最好只做一些简单的初始化操作//默认构造函数//语法:类名(){函数体}A(){std::cout << "默认构造调用" << std::endl;p = new int;}int *p;//析构函数在释放对象的内存之前自动调用//它的作用一般是来释放在类内部申请的一些内存空间(如堆区)//析构函数有且仅有一个//~类名(){函数体}~A(){std::cout << "析构函数调用" << std::endl;delete p;}private:int a;int b;};int main(){if (true){A a;}A a1;return 0;}

2.构造函数可以带有参数及设置默认值

有参构造函数在创建对象时同时初始化对象且是可以重载的。
语法:类名(参数列表){函数体}

class A{public://构造函数权限一般是public类型的,如果不是,则无法直接创建类对象//如果没有书写构造函数,编译器会帮我们自动创建一个构造函数。如果我们自己书写了构造函数,编译器不会生成默认构造函数//构造函数是没有返回值类型的并且在构造函数中最好只做一些简单的初始化操作//默认构造函数//语法:类名(){函数体}A(){std::cout << "默认构造调用" << std::endl;p = new int;}int *p;//析构函数在释放对象的内存之前自动调用//它的作用一般是来释放一些在类内部申请的一些内存空间//析构函数有且仅有一个//~类名(){函数体}~A(){std::cout << "析构函数调用" << std::endl;delete p;}//有参构造函数在创建对象时同时初始化对象//且是可以重载的//语法:类名(参数列表){函数体}A(int a_,int b_){a = a_;b = b_;std::cout << "2个参数" << std::endl;}A(int a_){a = a_;b = 0;std::cout << "1个参数" << std::endl;}//构造函数可以设置默认值A(char b, int a_ = 200){a = a_;std::cout << "有1个默认参数" << std::endl;}private:int a;int b;};int main(){if (true){A a;}A a1;A a1(1, 2);A a2(1);A a3('b');A a4;return 0;}

游戏开发之类的构造函数和析构函数(C++基础)相关推荐

  1. webGL、webGPU、封装、渲染引擎 three.js、游戏引擎,定位是游戏开发,在前面的渲染引擎基础上,还提供了骨骼动画、物理引擎、AI、GUI 等功能,以及可视化编辑器来设计关卡,支撑大型游戏

    https://zhuanlan.zhihu.com/p/162878354 如何选择 WebGL 框架和引擎? ​ 知道得越多,不知道的就更多了 数据可视化Sugar-百度智能云 ​cloud.ba ...

  2. Unity3D游戏开发初探—2.初步了解3D模型基础

    一.什么是3D模型? 1.1 3D模型概述 简而言之,3D模型就是三维的.立体的模型,D是英文Dimensions的缩写. 3D模型也可以说是用3Ds MAX建造的立体模型,包括各种建筑.人物.植被. ...

  3. 【iOS-Cocos2d游戏开发之二十】精灵的基础知识点总汇(位图操作/贴图更换/重排z轴等)以及利用CCSprite与CCLayerColor制作简单遮盖层!...

    为什么80%的码农都做不了架构师?>>>     李华明Himi 原创,转载务必在明显处注明: 转载自 [黑米GameDev街区] 原文链接:  http://www.himigam ...

  4. 【iOS-Cocos2d游戏开发】系列(总结了多篇文章,可以好好学习

    最近几天仔细了解了iOS游戏开发引擎,常用的cocos2d,Unity引擎,那么Unity是非免费的,而cocos2d则是免费开源的: 最后促使我选择cocos2d的原因有两点: 1.最重要的原因是它 ...

  5. 游戏开发主要学哪些课程?

    当盗墓笔记从小说走上影视屏幕,有一个行业也火热起来--网页游戏.从盗墓笔记到如今大热的司马懿之军师联盟,几乎每大火一部影视剧,就会有相应的网页游戏问世.由此可见游戏开发行业也成热门职业. 游戏开发需要 ...

  6. Unity3D和UE4游戏开发引擎哪个是游戏开发者最爱?

    UE4和Unity3D应该可以算的上是目前市场上最为热门的游戏引擎,也各自拥有为数众多的开发者.虽然一些大型的游戏公司仍然运用自家开发的引擎来制作游戏,但是在巨大的市场需求下,独立开发者与游戏工作室依 ...

  7. PHP构造函数construct 析构函数destruct

    文章目录 前言 一.构造函数construct 二.析构函数destruct 总结 前言 本文就介绍了PHP类的构造函数和析构函数的基础内容. 提示:以下是本篇文章正文内容,下面案例可供参考 一.构造 ...

  8. 游戏开发需要了解哪些背景知识?

    这一节开始,我将带你进入游戏开发的世界. 从最初的小霸王,到充满混混和烟味的街机厅,到 PS.Xbox.DC.N64 等次世代游戏主机,再到电脑游戏,再到如今,在手机上就能玩到各种各样的游戏. 我会依 ...

  9. 【备注】【C24】《Android 3D游戏开发技术详解与典型案例》PDF 下载

    [C24]<Android 3D游戏开发技术详解与典型案例>PDF 下载 目前市面上的Android技术书籍还比较少,Android3D游戏开发的书籍更是没有.因此,在现在市面上,Andr ...

  10. 《HTML5 Canvas核心技术 图形、动画与游戏开发》 读书笔记

    <HTML5 Canvas核心技术 图形.动画与游戏开发> 读书笔记 文章目录 <HTML5 Canvas核心技术 图形.动画与游戏开发> 读书笔记 第1章 基础知识 第2章 ...

最新文章

  1. android 自动化web,如何在android上使用selenium或appium自动化Chrome浏览器?
  2. .net2.0中SqlBulkCopy批量复制数据出错原因分析!
  3. 属性“dataProvider”有多个初始值设定项。(注意:“dataProvider”是“mx.charts.BarChart”的默认属性)。...
  4. 解决matlab2018a安装后遇到matlab license manager error -8
  5. 代码生成工具之MyGeneration
  6. 调查:是什么让你对开发者聚会(活动)感兴趣?(转 Y.boy一篇文章)
  7. hibernate映射(一对一、一对多、多对一、多对多)配置 【转】
  8. 局域网ftp工具,ftp上传下载工具使用指南,5款好用的局域网ftp工具推荐
  9. 动易 dw css不对,动易模板制作示.doc
  10. matlab安装mosek工具包
  11. QT使用PaddleOCR和百度OCR进行文字识别
  12. 开源电子书项目FBReader初探(三)
  13. 浅谈二十年后电气工程前途
  14. C# 破解 Reflector8.5
  15. 网易前端框架--NEC
  16. 服务器开通网站来宾帐户,IIS 增加Internet来宾用户权限
  17. 学习绘画应该怎么起步?
  18. HDU oj wod sticks
  19. idea出现decompiled .class file 解决方案
  20. Python与rrdtool的结合模块

热门文章

  1. 【收藏版】长文详解基于并行计算的条件随机场
  2. torch.cat;Pytorch nn.MaxPool1d
  3. 图论算法——无向图的连通分量
  4. 白话讲解:消息队列到底解决了什么问题?
  5. Windows的设备驱动框架中的上层与下层模块
  6. 嵌入式系统Linux内核开发学习指导框图
  7. .net 移动端 web 上传图片_vue使用cropperjs实现移动端图片裁剪上传组件
  8. android rsa最大加密明文大小_Android 登录密码信息进行RSA加密示例
  9. python包导入细节_python 如何上传包到pypi
  10. hbase中为何不能向表中插入数据_Python自带的数据库,用起来真方便!