2 richthoffen richthoffen 于 2016.04.20 21:07 提问

如果类中有多个同一个类的多个对象成员,如何初始化。 1C
c++

如果类中有多个同一个类的多个对象成员,如何初始化。
类名:构造函数名(形参):对象1(参数表),对象2(参数表)...

3个回答

caozhy
caozhy   Ds   Rxr 2016.04.20 21:17

就是像你写的那样初始化,也可以写在构造函数里。

oyljerry
oyljerry   Ds   Rxr 2016.04.20 21:19

就是通过构造函数 或者放到一个数组中循环初始化

qq423399099
qq423399099   Ds   Rxr 2016.04.20 21:51

1、普通的变量:一般不考虑啥效率的情况下 可以在构造函数中进行赋值。考虑一下效率的可以再构造函数的初始化列表中进行。

2、static 静态变量:
static变量属于类所有,而不属于类的对象,因此不管类被实例化了多少个对象,该变量都只有一个。在这种性质上理解,有点类似于全局变量的唯一性。在类的定义之外初始化.

3、const 常量变量:
const常量需要在声明的时候即初始化。因此需要在变量创建的时候进行初始化。一般采用在构造函数的初始化列表中进行。

4、Reference 引用型变量:
引用型变量和const变量类似。需要在创建的时候即进行初始化。也是在初始化列表中进行。但需要注意用Reference类型。

5、const static integral 变量:
对于既是const又是static 而且还是整形变量,C++是给予特权的(但是不同的编译器可能有会有不同的支持,VC 6好像就不支持)。可以直接在类的定义中初始化。short可以,但float的不可以哦。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C++为类中提供类成员的初始化列表(★firecat推荐★)
在使用C++编程的过程当中,常常需要对类成员进行初始化,通常的方法有两种: 第一种方法: CMYClass::CSomeClass() { x=0; y=1; } 第二种方法: CSomeClass::CSomeClass() : x(0), y(1) { } 本文将要探讨这两种方法的异同以及如何使用这两种方法。     从技术上说,第二种方法比较好,但是在大多
必须在类初始化列表中初始化的几种情况
1. 类成员为const类型 2. 类成员为引用类型 3.类成员为没有默认构造函数的类类型 4. 如果类存在继承关系,派生类必须在其初始化列表中调用基类的构造函数 参考资料: http://www.cnblogs.com/graphics/archive/2010/07/04/1770900.html http://www.cnblogs.com/k
类成员的初始化--成员初始化列表(常量,引用,成员对象)
常量,引用,对象成员的初始化要在成员初始化表中进行,不可以直接=号赋值。 class B{ } class A{      public:              A():number(n),ref(r),b(b1){...}      private:        const int number;        int & ref;        B b;
[C++应用程序性能优化]类的静态成员变量实现同一个类多个对象之间共享数据
/************************************************************************ 同一个类多个对象之间共享数据可以用全局变量,但是会破坏类的封装性因此可以使用类的静态成员变量 ************************************************************************ //*
c++中如何一个类批量声明多个对象
-
C++类创建多个对象不共享变量
如题,在使用c++相同的类创建多个对象时,在类中定义的变量并没有在多个对象中共享,而是各自独立分配了下面代码测试:编译器:visual studio 2013专业版Point.h#pragma once class Point { public: int i = 0;//这里定义了变量i Point(double=0.0,double=0.0); ~Point(); d
c++——继承类中的子对象和基类对象的初始化
为什么研究临时对象? 主要是为了提高程序的性能以及效率,因为临时对象的构造与析构对系统开销也是不小的,所以我们应该去了解它们,知道它们如何造成,从而尽可能去避免它们。临时对象是可以被编译器感知的。 下面的例子,可能有人认为"int temp"是"临时对象",但是其实不然,"int temp"仅仅是swap函数的局部变量。 #include void swap( int &a,
若类中有指针型数据成员,类的几个函数的重写
当类中有指针成员变量时,类的构造函数,拷贝构造函数,赋值函数必须进行重写,以求为指针成员变量开辟独立的内存空间。   下面以赋值函数为例进行说明:   (1)对于类的赋值导致的构造函数需要重写的原因      进行讨论一番,如下(C++教程242页):      Cname o1;      Cname o2(”ding”)//通过重载构造函数为该指针变量赋了初值      o1=
同一个类的不同的实例相互访问私有或者受保护的成员
class C1 { private $v; public function __construct($value) { $this->v = $value; } /** * 打印私有成员$v */ private function printValue() { echo $this->
深入理解java虚拟机(三)(一个类加载器只初始化一次类对象,不同类加载器可以对同一类对象进行初始化)
package com.ygl; class Final{ public static final int x=6/3;//此处x在编译时能计算出值,是编译时的常量,则System.out.println(Final.x);直接输出值,不再执行下面static static{ System.out.println("Final "); } } public class Test2 {