C++类成员相关应用方法介绍

开发 后端
C++类成员是由C++类中提供的。初学者们可以通过这篇文章中介绍的内容对这一方面的知识有一个充分的掌握,以此加深大家对其的认知程度。

C++编程语言中,同样均具有面向对象的特性。比如在C++中有为类提供的类成员等等。我们将会在这里为大家详细介绍一下有关C++类成员相关知识,希望能对大家在理解这方面的知识上有所帮助。#t#

C++为类中提供C++类成员的初始化列表

类对象的构造顺序是这样的:

1.类里面的任何成员变量在定义时是不能初始化的。

2.一般的数据成员可以在构造函数中初始化。

3.const数据成员必须在构造函数的初始化列表中初始化。

4.static要在类的定义外面初始化。

5.数组成员是不能在初始化列表里初始化的。

6.不能给数组指定明显的初始化。

这6条一起,说明了一个问题:C++里面是不能定义常量数组的!因为3和5的矛盾。这个事情似乎说不过去啊?没有办法,我只好转而求助于静态数据成员。
到此,我的问题解决。但是我还想趁机复习一下C++类的初始化:

1.初始化列表:CSomeClass::CSomeClass() : x(0), y(1){}

2.类外初始化:int CSomeClass::myVar=3;

3.const常量定义必须初始化,C++类里面使用初始化列表;

4.C++类不能定义常量数组。

关于const,复习一下常量指针:

如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。

在C++类中,必须做如下事情:

1.必须对任何const或引用类型成员以及没有默认构造函数的 类 类型 的任何成员 显示地使用初始化列表进行初始化

2.类成员在定义时是不能被初始化的。

3.C++类成员初始化顺序与成员变量在构造函数中的位置选后顺序无关,至于成员变量在类中定义的先后顺序有关。

所以下面的例子是错的:

 

  1. class x  
  2. {  
  3. int i;   
  4. int j;  
  5. public :  
  6. x( int value):j(value),i(j)  
  7. {  
  8. }  

对与上面的code,因为i先被初始化(i相对于j先定义的)而在i初始化时,j并没有被初始化,故执行出现问题了。

C++类成员的相关概念就为大家介绍到这里。

责任编辑:曹凯 来源: 博客园
相关推荐

2010-01-19 18:35:12

静态成员

2010-02-03 11:01:18

C++类静态成员初始化

2010-03-26 16:17:24

Python嵌入

2010-02-05 10:46:10

C++文件流

2010-01-18 10:16:58

学习C++

2010-01-18 18:04:28

静态成员

2010-02-01 15:26:44

C++ inline函

2010-02-02 16:49:32

C++中文字符

2010-03-26 12:41:05

Python嵌入C++

2024-02-22 18:07:17

C++静态成员代码

2010-01-15 18:35:25

C++的类

2010-02-03 16:35:45

C++回文

2011-07-20 16:09:08

C++

2010-02-04 10:02:08

C++静态数据成员

2010-02-06 16:21:35

C++常规DLL

2010-02-04 14:29:45

C++ typenam

2020-09-28 08:12:59

CC++时间

2010-02-03 17:06:36

C++对象复制

2010-01-19 18:51:17

C++类

2010-02-01 09:18:49

C++函数指针
点赞
收藏

51CTO技术栈公众号