一、类的数据成员

1.在类中声明数据成员

1)类的数据成员的声明类似于普通变量的声明。如果 一个类具有多个同一类型的数据成员,则这些成员可以在一个成员声明中指定。

2)类的数据成员可以是基本类型、数组、指针、引用、共用体、枚举类型、void指针、const限定等数据类型。

3)类的数据成员还可以是成员对象(member object),即类类型或 结构体类型的对象。若类A中嵌入了类B的对象,称这个对象为子对象(subobject)。例如:类Line嵌入了类Point的子对象start、end。

 2.在类中定义或声明数据类型

1)除了定义数据成员和成员函数之外,类还可以定义自己的局部类型, 并且使用类型别名来简化。

2)在类中定义或声明的数据类型的作用域是类内部,因此,它们不能在类外部使用。

3)在类定义中,可以定义结构体和共用体类型、嵌套的类定义,声明枚举类型。

二、类的成员函数

1.在类的外部定义成员函数

如果成员函数仅有声明在类定义中,则在类外部必须有它的实现, 其一般形式为:

返回类型 类名::函数名(形式参数列表)

{

函数体

}

(2)在成员函数中可以访问这个类的任何成员,无论它是公有的 或是私有的,是类内部声明的还是类外部定义的。

(3)虽然成员函数在类的外部定义,但在调用成员函数时会根据 在类中声明的函数原型找到函数的定义(即函数代码),从而执行 该函数。因此类的成员函数原型声明必须出现在成员函数定义之前, 否则编译时会出错。

(4)在类的内部声明成员函数,而在类的外部定义成员函数,这 是一个良好的编程习惯。因为不仅可以减少类体的长度,使类体结 构清晰,便于阅读,而且有助于类的接口和实现分离。

(5)如果一个成员函数,其函数体不太复杂,只有4~5行时,一般可在类体中定义。

成员函数重载及默认参数 :可以对成员函数重载或使用默认参数

成员函数的存储方式

用类实例化一个对象时,系统会为每一个对象分配存储空问。如果一个类包括了数据成员和成员函数,则要分别为数据和函数的代码分配存储空间。

通常,C++会为每个对象的数据成员分配各自独立的存储空间,像结构体成员那样。

而成员函数代码只有公用的一段存储空间,调用不同对象的成员函数时都是执行同一段函数代码。

类的数据成员与成员函数相关推荐

  1. 类的数据成员——C#【类与对象】。

    类的成员包括类的常量,字段,属性,索引器,方法,事件,构造方法等其中,常量,字段,属性,都是与类的数据有关的成员. 1)字段: 字段表示类的成员变量,字段的声明方式就是变量的声明方式,字段的值表示某个 ...

  2. c ++类成员函数_C ++编程中的数据成员和成员函数

    c ++类成员函数 C ++中的数据成员和成员函数 (Data members and Member functions in C++) "Data Member" and &qu ...

  3. c语言类静态数据成员函数,鸡啄米:C++编程入门系列之二十一(C++程序设计必知:类的静态成员)...

    鸡啄米在上一讲数据和函数中讲到,函数之间共享数据也就是此函数访问彼函数的数据主要是通过局部变量.全局变量.类的数据成员.类的静态成员及友元实现的,前三个已经讲过了,这一讲鸡啄米来讲讲静态成员.静态成员 ...

  4. 定义长方体类,数据成员有长、宽、高,成员函数有带默认形参值的构造函数(默认长宽高分别为2.5、3.4、2)、计算体积函数,分别构造默认对象和长宽高分别为6.25、4.8、5.2的对象,输出各对象的体积

    定义长方体类,数据成员有长.宽.高,成员函数有带默认形参值的构造函数(默认长宽高分别为2.5.3.4.2).计算体积函数,分别构造默认对象和长宽高分别为6.25.4.8.5.2的对象,输出各对象的体积 ...

  5. 类的静态数据成员和静态成员函数

    一.什么是类的静态成员 静态成员变量和全局变量都存储在全局/静态区,它们都是在程序编译时创建,直到编译结束才被收回.所以全局变量和静态成员变量的功能差不多,只是创建的方式不同,类的静态成员创建在类中, ...

  6. C++类的静态数据成员和静态成员函数

    目录 公有属性 静态数据成员 静态成员函数 公有属性 一些类对象可能会具有一些相同的属性,如果用普通数据成员来描述这些相同的属性,这意味着我们需要给每个对象的这个数据成员设定相同的值,如果改变类对象相 ...

  7. [C++] 类的静态成员 (静态数据成员 和 静态成员函数)

    目录 一.声明静态成员: 二.定义静态成员: 三.使用类的静态成员: 四.静态成员类内初始化: 五.静态成员与普通成员的区别: 六.案例代码: 类内的静态成员包括: 静态数据成员 和 静态成员函数. ...

  8. C++ : 类的成员函数修改类中数据成员值

    遇到一个问题是:在类中有一个数据成员,是public的,在类的成员函数中进行修改,这个类的成员函数可能是要调用多次,想知道是不是每一次调用都有效 写了一个测试函数: #include <iost ...

  9. 类的数据,成员函数,声明

    类的数据成员 在类中声明数据成员 类的数据成员的声明类似于普通变量的声明.如果一个类具有多个同一类型的数据成员,则这些成员可以在一个成员声明中指定. class Cube { //Cube类表示立方体 ...

  10. 定义一个Dog类,包括体重和年龄两个数据成员及其成员函数,声明一个实例dog1,体重5,年龄10,使用I/O流把dog1的状态写入磁盘文件。再声明一个实例dog2,读取文件dog1的状态给dog2。

    定义一个Dog类,包括体重和年龄两个数据成员及其成员函数,声明一个实例dog1,体重5,年龄10,使用I/O流把dog1的状态写入磁盘文件.再声明一个实例dog2,通过读取文件dog1的状态赋给dog ...

最新文章

  1. Ubuntu Server 更改hostname
  2. c#_List<T>(IEnumerable<T>)
  3. 海量日志数据分析与应用》场景介绍及技术点分析
  4. Go进阶(4): string接口函数+时间接口函数+内置函数+错误处理
  5. RabbitMQ入门(四)-Routing(路由)
  6. 结构为键值的map_在Java中增加Map值的最有效方法-只需搜索键一次
  7. opencv 把3通道图像转成单通道_小强学Python+OpenCV之-1.4.3图像(矩阵)加减运算
  8. java后端工程师平时开发或多或少会用到Intellij idea,那么它有哪些快捷键呢
  9. 修改dts后重编译_「正点原子FPGA连载」第二十章另一种方式编译ZYNQ镜像
  10. WMS请求GetCapabilities,变成下载mapserv.exe解决办法
  11. 游族网络:中诚信国际将公司主体及游族转债列入信用评级观察名单
  12. Oracle 11g企业版下载
  13. go与python的前景_golang程序员前景怎么样?Python、Java、go语言的优势互比
  14. arduino控制串口屏
  15. 牛批了,python也能做思维导图
  16. Python 预测 NBA 比赛结果
  17. UE4 直接打包图片到目录中,不打包成pak
  18. a java runtime enviroment jre or java de,手把手教你启动报错:A java Runtime Environment(JRE)…...
  19. IM即时通讯系统架构
  20. 路由传参的几种方式(含params、query)

热门文章

  1. python pip报错 Cannot open Scripts\pip-script.py
  2. 学生信息管理系统删除最后一条记录报错3021
  3. 【c++】——通过cmake定义宏add_definitions
  4. spring的IOC容器Bean管理(基于xml方式)
  5. 海悦生活冲刺上市:外拓压力大,表现不及建发物业,还有项目亏损
  6. 04741计算机网络原理2018年版-第二章 网络应用 知识要点
  7. 关于 QWidget+Qml程序打包到ubuntu时,程序与系统库版本不同,编译时添加并依赖自带库 的方法
  8. 班级学生成绩管理系统——C/C++实现
  9. GAI周延2019巡演启动:音乐风格不能局限我
  10. LCP 29. 乐团站位(leetcode)