c++类 用冒号初始化对象(成员初始化列表)
c++类 用冒号初始化对象(成员初始化列表) 成员初始化的顺序不同于它们在构造函数初始化列表中的顺序,而与它们在类定义中的顺序相同
#include<iostream>
int n=;
using namespace std;
class Cbox{
int a ;
int b ;
int c ;
public:
int g ;
Cbox():a(n++),c(n++),b(n++){}
~Cbox(){cout<<a<<" "<<b<<" "<<c<<endl;}
}; int main(){Cbox a ;
Cbox b(a);//跟 Cbox b=a; 结果一样
}

(1)在创建派生类对象时,先调用基类的构造函数,然后调用派生类的构造函数;撤销对象时,析构函数被调用的顺序则相反。
(2)若派生类中包含对象成员,则派生类的构造函数初始化成员列表中既要列出基类的构造函数也要列出对象的构造函数。派生类定义对象时,先调用基类的构造函数,再调用对象的构造函数,最后调用派生类的构造函数。
---------------------
作者:libaineu2004
来源:CSDN
原文:https://blog.csdn.net/libaineu2004/article/details/19565229
版权声明:本文为博主原创文章,转载请附上博文链接!
c++类 用冒号初始化对象(成员初始化列表)的更多相关文章
- MDK KEIL 机构体初始化 . 点 成员 初始化, C99
C99介绍,参考这里:C89,C99: C数组&结构体&联合体快速初始化 MDK 设置: 只需添加 ”--c99"参数即可,如图:
- 【转载】C++ 与“类”有关的注意事项总结(十二):按成员初始化 与 按成员赋值
原文:C++ 与"类"有关的注意事项总结(十二):按成员初始化 与 按成员赋值 一.按成员初始化(与构造函数和拷贝构造函数有关) 用一个类对象初始化另一个类对象,比如: Accou ...
- Java自学-类和对象 属性初始化
如何进行Java的属性初始化 步骤 1 : 对象属性初始化 对象属性初始化有3种 声明该属性的时候初始化 构造方法中初始化 初始化块 . public class Hero { public Stri ...
- java中类的初始化和对象的初始化
静态的属于全局静态区,这个部分独立存在,不管是成员还是块,都是静态的,大家地位相等,先到先得. 然后是成员初始化,这个部分在类的构造函数前初始化,因为编译器(或者设计者)可能认为构造函数调用了这个成员 ...
- C++ 对象的初始化
目录 默认初始化 默认构造函数(default constructor) 构造函数初始值列表(cosntructor initializer list) 直接初始化和拷贝初始化 拷贝构造函数(copy ...
- C++:用成员初始化列表对数据成员初始化
1.在声明类时,对数据成员的初始化工作一般在构造函数中用赋值语句进行. 例如: class Complex{ private: double real; double imag; public: Co ...
- 【转载】C++对象成员与构造函数
一个类的对象可以作为另一个类的数据成员,此时把该对象称为类的对象成员. 当一个类中出现对象成员时,该类的构造函数就要为对象成员初始化,对象成员的初始化必须在构造函数的初始化表中完成. 注意: 初始化对 ...
- 一道关于java 类初始化 成员初始化的笔试题的解析
代码如下: java笔试题public class Mapplication { private static int n; private static Mapplication m1 = new ...
- C#类的成员初始化顺序
首先我们来看看引用类型的成员初始化过程 我们来看一个例子吧 class Program { static void Main(string[] args) { Driv ...
随机推荐
- 修改windows文件的换行符
应用场景: 在办公中,有可能存在,某些命令脚本使用windows下的文本编辑器进行编写 当放到测试环境的Linux中时,运行报错 需要使用的软件:xxd hexdump dos2unix 1.运行w ...
- java写出进程条代码
package com.ds; import java.awt.Color; import java.awt.Toolkit; import javax.swing.ImageIcon; import ...
- who命令参数及用法详解(linux查看在线用户命令)
功能说明:显示目前登入系统的用户信息. 语 法:who [-Himqsw][--help][--version][am i][记录文件] 补充说明:执行这项指令可得知目前有那些用户登入系统,单独执 ...
- 开发环境入门 linux基础 (部分)awk 赋值变量 if
awk 常用于处理格式非常明显的文件 awk -F: '{print $1}' /etc/passwd 含义:取冒号分隔符的第一段内容 $0 指取所有! NF 指有几段内容 $NF 取最后一段内容 ...
- oracle 密码默认180天过期
alter profile default limit password_life_time unlimited; alter user username identified by 'pwd';
- Delphi Cookie
Cookie IdHTTP1.CookieManager.AddCookies(); IdHTTP1.Post(); IdHTTP1.Get('http://1.1.1.1:9000/'); for ...
- DAY7-面向对象之封装
一.引子 从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗,小王八,还有alex一起装进麻袋,然后把麻袋封上口子.照这种逻辑看,封装=‘隐藏’,这种理解是相当片面的 二.先看如何隐藏 在 ...
- python dict.fromkeys()研究
def unique(seq): #return [x for x in my_list if x not in locals()['_[1]']] return {}.fromkeys(seq).k ...
- c++primer-p100.用迭代器进行二分法搜索
#include <vector> #include <iostream> using namespace std; int main() { vector<int> ...
- XMPP协议相关基础概念(Strophe学习笔记)
相关资料: XMPP官网http://xmpp.org/xmpp-software/libraries/ nginx的转发配置http://mineral.iteye.com/blog/448260 ...