C++类变量初始化
来源:互联网 发布:c语言ackman函数 编辑:程序博客网 时间:2024/04/29 11:01
C++类变量初始化
C++为中类对象的构造顺序是这样的:
1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员
2.进入构造函数后在构造函数中执行一般计算
C++类中变量的初始化:
1.初始化列表:CSomeClass::CSomeClass() : x(0), y(1){},const常量定义必须初始化,且必须使用初始化列表进行初始化;
2.类外初始化:int CSomeClass::myVar=3,只有静态成员才能在类外初始化,构造函数不能对静态变量初始化;
3.只有静态常量成员才能在类中直接赋值来初始化;
4.普通变量只能通过构造函数初始化,可以使用初始化表,也可在函数内部;
5.C++类不能定义常量数组。
-----------------Test.h----------------------------
#pragma once
class Test
{
private :
int var1;
//int var11= 4; 错误的初始化方法
const int var2 ;
//const int var22 =22222; 错误的初始化方法
static int var3;
//static int var3333=33333; 错误,只有静态常量成员才能直接赋值来初始化
static const int var4=4444; //正确,静态常量成员可以直接初始化
static const int var44;
public:
Test(void);
~Test(void);
};
--------------------Test.cpp-----------------------------------
#include ".\test.h"
int Test::var3 = 3333333; //静态成员的正确的初始化方法
//int Test::var1 = 11111;; 错误 静态成员才能初始化
//int Test::var2 = 22222; 错误
//int Test::var44 = 44444; 错误的方法,提示重定义
Test::Test(void) :var1(11111),var2(22222) //正确的初始化方法 , var3(33333) 不能在这里初始化
{
var1 =11111; //正确, 普通变量也可以在这里初始化
//var2 = 222222; 错误,因为常量不能赋值,只能在 “constructor initializer (构造函数的初始化列表)” 那里初始化
var3 =44444; //这个赋值时正确的,不过不是初始化
}
Test::~Test(void)
{
}
C++为中类对象的构造顺序是这样的:
1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员
2.进入构造函数后在构造函数中执行一般计算
C++类中变量的初始化:
1.初始化列表:CSomeClass::CSomeClass() : x(0), y(1){},const常量定义必须初始化,且必须使用初始化列表进行初始化;
2.类外初始化:int CSomeClass::myVar=3,只有静态成员才能在类外初始化,构造函数不能对静态变量初始化;
3.只有静态常量成员才能在类中直接赋值来初始化;
4.普通变量只能通过构造函数初始化,可以使用初始化表,也可在函数内部;
5.C++类不能定义常量数组。
-----------------Test.h----------------------------
#pragma once
class Test
{
private :
int var1;
//int var11= 4; 错误的初始化方法
const int var2 ;
//const int var22 =22222; 错误的初始化方法
static int var3;
//static int var3333=33333; 错误,只有静态常量成员才能直接赋值来初始化
static const int var4=4444; //正确,静态常量成员可以直接初始化
static const int var44;
public:
Test(void);
~Test(void);
};
--------------------Test.cpp-----------------------------------
#include ".\test.h"
int Test::var3 = 3333333; //静态成员的正确的初始化方法
//int Test::var1 = 11111;; 错误 静态成员才能初始化
//int Test::var2 = 22222; 错误
//int Test::var44 = 44444; 错误的方法,提示重定义
Test::Test(void) :var1(11111),var2(22222) //正确的初始化方法 , var3(33333) 不能在这里初始化
{
var1 =11111; //正确, 普通变量也可以在这里初始化
//var2 = 222222; 错误,因为常量不能赋值,只能在 “constructor initializer (构造函数的初始化列表)” 那里初始化
var3 =44444; //这个赋值时正确的,不过不是初始化
}
Test::~Test(void)
{
}
- [c++] c++ 类中的静态变量初始化
- [C++]类中的静态变量必须初始化
- c语言变量初始化
- C 基础 (变量初始化)
- C语言变量的初始化
- C语言之变量初始化
- C语言变量的初始化
- C 语言笔记;变量初始化
- C/C++ 变量的初始化
- C/C++变量默认初始化
- c语言变量赋值,初始化
- 【C++】变量(三) 变量的初始化
- [C++]C++语言类成员变量初始化总结
- C++_类_不同类型成员变量的初始化方式
- C/C++变量的初始化
- C++类变量初始化
- 类 变量初始化
- C++类变量初始化
- SQL Server 2008 Express Manage Studio 的安装方法 Windows 2003 Server
- 既然做智能手机不如别人,不如做小手机
- IE6中CSS常见BUG全集及解决方案
- 华硕称Eee Pad Transformer平板可升级Android 4.0
- 缕顺关系型数据
- C++类变量初始化
- Android 4.0 Manifest Permission 改动
- 类指针的几个小函数
- Java的开发步骤
- qt 断点续传例子
- linux下c的集成开发工具IDE--eclipse+cdt
- 关于Hibernate,Spring,Struts一些问题
- html 调整笔记
- FCKeditor API使用详解