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

南宫28在线注册网站wordpress 文章导出

南宫28在线注册网站,wordpress 文章导出,西宁中小企业网站建设,企业网站怎么做中英文切换目录 前言 01 什么是构造函数呢#xff1f; 02 非构造函数初始化变量 03 构造函数初始化变量 04 带参数的构造函数。 最后的话 前言 我们继续学习 C 的面向对象编程#xff0c;本章主要是讲其中的 构造函数。 01 什么是构造函数呢#xff1f; 构造函数基本上是一种特…目录 前言 01 什么是构造函数呢 02 非构造函数初始化变量 03 构造函数初始化变量 04 带参数的构造函数。 最后的话 前言 我们继续学习 C 的面向对象编程本章主要是讲其中的 构造函数。 01 什么是构造函数呢 构造函数基本上是一种特殊类型的方法它在每次实例化对象时运行。 我们直接来看一个例子吧。 我们将要通过创建一个 Log类来深入了解这个知识点。 #include iostreamclass Log { public:int maxSize; int minSize;public:void print(){std::cout maxSize std::endl;std::cout minSize std::endl;} };int main() {Log log;log.print();return 0; } 这个类有两个成员变量int maxSizeminSize用来描述 Log的最大最小数据量。然后创建一个 Log实例。再给它一个 Print 函数这样它就能够将它的位置信息输出到控制台。 运行这段代码结果是完全正常的没有任何问题。 然而你应该会注意到输出的值看起来像是随机的值。 这是因为当我们实例化 Log为它分配内存时我们实际上并没有初始化那个内存空间这意味着我们实际输出了那个内存空间里面原来的值。 这个 Print 函数虽然可以通过编译是它显示的并不是我们所期望的。因为它直接打印 X 和 Y但是它们都设置了看似随机的值这个不太一样。 看起来接下来的任务就是初始化内存了我们需要将它设置为 0。——我们期望在不指定一个值的情况下这个位置的值默认为 0。 02 非构造函数初始化变量 我需要一种方法当构造一个 Log的实例时我们可以把 X 和 Y 设为 0除非它们已经被指定了其它的值。 解决问题的方法之一是直接创建一个初始化的方法。 我们可以创建 Init 方法。 它是 void 类型的函数你可以看到它只是用来设置 maxSize和 minSize 的值为 0的。 现在我们能做的就是当 Log对象实例创建时可以调用这个 Init 方法。 调试运行程序可以看到 maxSize和 minSize被设为了0 看起来我们完成了我们的要求。 然而如果这样操作的话我们会额外编写相当多的代码。每当你想在代码中创建一个对象我们都需要调用 Init 函数这样当代码越来越多的时候写起来也会越来越麻烦。当构造对象时如果我们有办法直接运行这个初始化代码就好了。于是就有了构造函数。 03 构造函数初始化变量 构造函数是一种特殊类型的方法这是一种每次你构造一个对象时都会自动调用的方法。 我们像定义其它方法一样定义它。然而特殊的是它没有返回类型并且它的名字必须与类的名称相同。 写 Log的构造函数时首先输入类名 Log。 在这种情况下和之前一样让变量都等于0。删掉 Init 方法现在已经不再需要它了。 运行一下代码你会发现和前面用 Init 方法是一样的效果。—— Init 方法被构造函数取代了。 实际情况是如果你不指定构造函数其实仍旧有一个构造函数。只不过它是一个叫做默认构造函数的东西默认情况下已经为你准备好了只不过默认构造函数实际上什么都没做这和我们定义的这个构造函数函数体内完全空着是一样的效果。 像 Java 类的语言基本数据类型比如 int 和 float会自动初始化为0。但 C 的情况并非如此你必须手动初始化所有基本类型否则它们将被设置为原本该内存中值。 所以初始化是非常重要的。 04 带参数的构造函数。 没错其实你可以写很多的构造函数前提是它们有不同的参数。这其实和我之前写一些同名方法的操作是一样的。这个过程叫函数重载。可以这样说它们是 有相同的函数名但是有不同的参数的不同函数版本。 这里我加上 max 和 min 作为参数在函数体中然后把 max 和 min的值赋值给 maxSize和 minSixze。 我现在可以选择使用参数来构造 Log对象了。 运行程序之后可以看到 10 和 6 出现在控制台很棒哈。 构造函数讲的差不多了。 还有两点我需要提醒大家。 #include iostreamclass Log { public:int maxSize; int minSize;public:Log(int max,int min) {maxSize max;minSize min;}void print(){std::cout maxSize std::endl;std::cout minSize std::endl;} };int main() {Log log(10,6);log.print();return 0; } 如果不实例化对象构造函数将不会运行所以如果你只使用一个类的静态方法它是不会运行。我们还没有讨论堆内存的分配问题当使用 new 关键字并创建一个对象实例时也会调用构造函数。 最后的话 这就是构造函数的基本使用了记住一句话就行它是一个特殊的方法在你创建类的实例时运行主要用途是初始化该类。当你创建一个新对象实例时构造函数确保你初始化的所有内存完成你所有需要做的设置。
http://www.pierceye.com/news/818432/

相关文章:

  • jsp做的婚恋网站做死活题网站
  • 帮做网站的公司荥阳网站优化公司
  • 网页设计心得体会正文合肥网站推广优化公司
  • 邯郸菜鸟网站建设网站搭建费用价格表
  • 网站优化3个关键词和10个关键词的区别品牌推广方式有哪些
  • 建立网站需要多少钱一个二手站网站怎做
  • 瑞丽住建局网站科技新闻最新消息10条
  • 可以上传网站的免费空间网站注册都需要什么
  • wap网站开发重庆永川网站建设公司
  • 网站历史记录怎么恢复seo网站优化软件
  • 四川瑞通工程建设有限公司网站贵州省网站建设
  • 购买网站设计制作易龙天做的网站怎么样
  • 十大免费网站推广入口无锡网站建设首选捷搜
  • 网站搭建原理网页制作工程师
  • 中国工程建设交易信息网站邢台百度爱采购
  • 保定建设网站公司qq登陆 wordpress
  • 博客网站开发环境专业外贸网站建设公司价格
  • 响应式电商网站制作企业咨询诊断报告
  • 企业网站怎么建设公司展厅装修设计
  • 怎么联系网站管理员怎么做拍卖网站
  • 山东威海网站开发长沙新媒体运营公司
  • 社保网站做员工用工备案wordpress登录查看
  • 做网站公司名字应该用图片吗沃尔玛公司网站建设案例分析
  • 网站空间大小多少合适做关于车的网站
  • 专注咖啡相关的网站wordpress 访问缓慢
  • 自适应网站制作官网网站域名与建设
  • 淘宝网站开发成本武进建设局网站进不去
  • 比较好网站制作公司行业协会网站织梦模板
  • 牛人网络网站像wordpress一样的网站吗
  • 那种做任务的网站叫什么wordpress 数据库 旧Ip