C++之构造函数和析构函数强化

构造与析构调用顺序:

#include <stdio.h>class Test9_1
{
public:Test9_1 (int a){m_a = a;printf ("9_1 1111111111111111111构造函数....a: %d\n", a);}// 析构的顺序和构造的顺序相反,先构造的后析构~Test9_1(){printf ("9_1 1111111111111111111析构函数....a: %d\n", m_a);}
private:int m_a;
};// 对象初始化列表,解决一个类中有另一个没有无参构造的类的对象的初始化
class Test9_2
{
public:// 对象初始化列表,在构造函数后面加:,后面加上要初始化的对象// 对象初始化列表要比当前类的构造函数先执行// 对象的初始化先后顺序和 在对象初始化列表 的顺序无关,和在类中的声明先后顺序有关 Test9_2():m_a(10), m_c(30), m_b(20), m_ca(100){printf ("9_2 222222222222构造函数....\n");}~Test9_2(){printf ("9_2 222222222222构造函数....a: %d\n", m_ca);}
private:Test9_1 m_b;Test9_1 m_c;Test9_1 m_a;const int m_ca;
};int main9_1()
{// 类中有了构造函数以后,就没有默认的无参构造// Test9_1 a;Test9_2 a;return 0;
}

以及构造中调用构造:

#include <stdio.h>class Test10_1
{
public:// 构造函数中调用构造函数 不会达到预期的效果的Test10_1(int a, int b){m_a = a;m_b = b;Test10_1(a, b, 30);  // 匿名对象、临时对象}Test10_1 (int a, int b, int c){m_a = a;m_b = b;m_c = c;}~Test10_1(){printf ("析构*******a = %d, b = %d, c = %d\n", m_a, m_b, m_c);}void print (){printf ("a = %d, b = %d, c = %d\n", m_a, m_b, m_c);}
private:int m_a;int m_b;int m_c;
};int main10_1()
{// Test10_1(10,20);  // 临时对象 生命周期就是这一行Test10_1 a(10,20);a.print();printf ("--------------------------------\n");return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448400.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle的逆向工程generatorConfig

<?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <ge…

最简单、图解:阿里云服务器上装 Docker 、 CentOS上 docker安装(3分钟装完)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 // 为了装 vue 的 webpack &#xff0c;我把整个服务器重置了。docker 也没有了&#xff0c;只好重新装 docker ... 1. 准备工作 yum …

C++之对象的动态建立和释放

new和delete的用法&#xff1a; 1&#xff09;在软件开发过程中&#xff0c;常常需要动态地分配和撤销内存空间&#xff0c;例如对动态链表中结点的插入与删除。在C语言中是利用库函数malloc和free来分配和撤销内存空间的。C提供了较简便而功能较强的运算符new和delete来取代m…

7.11牛客题(指针)

今天在牛客做错了一道题&#xff0c;在此写下感触题目如下&#xff1a;若有说明:int i, j2,*p&i;,则能完成 ij 赋值功能的语句是&#xff08;B&#xff09;。A i*p; B *p*&j; C i&j; D i**p; 分析&#xff1a;题目中&#xff0c;p指针指向i的地址&#xff0c;A选项…

gpu简介

GPU英文全称Graphic Processing Unit&#xff0c;中文翻译为“图形处理器”。GPU是相对于CPU的一个概念&#xff0c;由于在现代的计算机中&#xff08;特别是家用系统&#xff0c;游戏的发烧友&#xff09;图形的处理变得越来越重要&#xff0c;需要一个专门的图形的核心处理器…

WM有约(五):部署应用程序

WM有约&#xff08;五&#xff09;&#xff1a;部署应用程序 Written by Allen Lee 创建安装包 创建一个新的项目&#xff0c;用来部署Windows Mobile应用程序的项目模板是Other Project Types\Setup and Deployment下的Smart Device CAB Project&#xff1a; 图 1 输入项…

“ 我亦想望,如池鱼悠悠 ... “

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 // 闹钟响了&#xff0c;起床&#xff0c;洗漱完毕&#xff0c;背上电脑出门&#xff0c;到公司打卡 8&#xff1a;20 。 " 我亦想…

C++之静态成员变量和静态成员函数

静态成员变量 关键字 static 可以用于说明一个类的成员&#xff0c; 静态成员提供了一个同类对象的共享机制 把一个类的成员说明为 static 时&#xff0c;这个类无论有多少个对象被创建&#xff0c;这些对象共享这个 static 成员 静态成员局部于类&#xff0c;它不是对象成…

熄火/死火

定义 当反应器正在以显著的反应速率进行操作时&#xff0c;若降低进料入口的温度&#xff0c;使它达到多重态区域的下限&#xff0c;反应速度会突然大幅度下降&#xff0c;反应基本上停止。这个现象称为熄灭。相应的入口温度称为熄灭点。一般指的是汽车熄火。发生原因 有…

H3C 以太网集线器

转载于:https://www.cnblogs.com/fanweisheng/p/11169349.html

解决: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 问题描述&#xff1a;阿里云服务器 磁盘初始化之后用 git-bash ssh rootxx.xx.xx.xx 方式登陆服务器&#xff0c;报错如下。 WARNIN…

C++之面向对象模型

C对象模型可以概括为以下2部分&#xff1a; 1. 语言中直接支持面向对象程序设计的部分&#xff0c;主要涉及如构造函数、析构函数、虚函数、继承&#xff08;单继承、多继承、虚继承&#xff09;、多态等等。 2. 对于各种支持的底层实现机制。 在c语言中&#xff0c;“数据”…

netty接收大文件的方法

参考:http://blog.csdn.net/linuu/article/details/51371595 https://www.jianshu.com/p/a0a51fd79f62 netty默认是只能接收1024个字节&#xff0c;但是我们要传输大文件怎么办&#xff1f; 上代码&#xff1a; 改之后服务端&#xff1a; package server;import io.netty.boots…

制动失灵

定义 制动过程中&#xff0c;由于制动器某些零部件的损坏或发生故障&#xff0c;使运动部件(或运动机械)不能保持停止状态或不能按要求停止运动的现象。制动失灵的原因 制动失灵的关键在于制动系统无法对汽车施加足够的制动力&#xff0c;包括制动液管路液位不足或进入…

webpack 入门,说一下那些不入流的知识点、module.exports{ } 中配置说明

先说说Vue-Cli&#xff08;Vue项目脚手架&#xff09; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 关于它能干什么&#xff0c;就不再赘述了&#xff0c;我们主要谈谈生成的与webp…

myeclipse2013 jad反编译插件安装

https://blog.csdn.net/zhenshixian88/article/details/26454319 1. 下载插件工具 http://download.csdn.net/detail/zwj_lmss/6697259 2. 里面有两个文件 1).JAD.EXE随便找个地方丢进去(我是随便放哪边的,不过有的人有问题,最后放在了jdk的bin下面.可能他们没有配置环境变量);…

转向失控

定义 转向失控就是方向盘不管用了&#xff0c;打方向盘&#xff0c;但是前轮不动&#xff0c;不受方向盘控制。转向失控的原因 转向失控可能因为车辆过快、酒驾、疲劳、车况不佳、雨雪路滑等&#xff0c;还有转向机构中有零部件脱落、损坏、卡滞时&#xff0c;也会使转向机…

this 的指向问题

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 this的指向已经是一个老生常谈的问题&#xff0c;每逢面试都要去复习复习&#xff0c;近来巩固js的基础&#xff0c;决心彻底掌握这个知…

C++之全局函数和成员函数的转换

全局函数和成员函数 把全局函数转化成成员函数&#xff0c;通过this指针隐藏左操作数 Test add(Test &t1, Test &t2)》Test add(Test &t2) 把成员函数转换成全局函数&#xff0c;多了一个参数 void printAB()》void printAB(Test *pthis) 函数返回元素和返回引…

HDU 3916 Sequence Decomposition 【贪心】

这道题目的题意就是使用题目中所给的Gate 函数&#xff0c;模拟出输入的结果 当然我们分析的时候可以倒着来&#xff0c;就是拿输入去减 每次Gate 函数都会有一个有效范围 这道题目求的就是&#xff0c;找出一种模拟方法&#xff0c;使得最小的有效范围最大化。 是一道【贪心】…