C++中,语句默认都是顺序执行,如果碰到选择或循环语句,顺序执行的规则就要改变。C++中的选择控制语句有if语句、if...else语句、if...else if语句和sw itch语句。对于简单的if...else语句,可以使用条件运算符来代替。“语句1”、“语句2”、…使用sw itch语句应注意下列问题:◇整型表达式包括字符型或枚举型表达式。......
2025-09-30
实际上,C++为每一个对象的数据成员分配内存空间,类中的所有成员函数只生成一个副本,而该类的每个对象执行相同的函数成员副本。因此在描绘类图时,通常将显示类中所有的成员。然而在描绘类的对象图时,将只显示其数据成员。
实际上,对象也像变量一样,可以定义全局对象或静态对象等,它们的存储空间类型和作用域与全局变量或静态变量是一样的。
【例2.4】分析以下程序的执行结果。
解:上述程序中声明Student类,并定义了两个对象stu1和stu2(给这两个对象分配存储空间),分别调用两个成员函数输入和输出它们的数据成员值,最后输出这两个对象占用的内存空间大小。程序执行结果如下:
学号:101姓名:王一
学号:108姓名:李二
16(https://www.chuimin.cn)
16
从结果看到,为对象stu1和stu2分配的内存空间均为16(=sizeof(no)+sizeof(name)),恰好为Student类中数据成员占用的内存空间之和。图2.3显示了对象s1和s2中相应的数据成员值。
图2.3 对象stu1和stu2
实际上,类Student的所有成员函数放在公用区中(只保存一份),每个函数代码有一个地址,类Student的每个对象中只存放自己的数据成员值和指向公共区中对应函数的地址,也就是说,类的成员函数是共享的,如图2.4所示,这种对象的存储空间分配方式不仅节省了存储空间,而且各个对象的数据成员分别存放,互不相干。
图2.4 对象的存储空间分配
相关文章
C++中,语句默认都是顺序执行,如果碰到选择或循环语句,顺序执行的规则就要改变。C++中的选择控制语句有if语句、if...else语句、if...else if语句和sw itch语句。对于简单的if...else语句,可以使用条件运算符来代替。“语句1”、“语句2”、…使用sw itch语句应注意下列问题:◇整型表达式包括字符型或枚举型表达式。......
2025-09-30
在C++中,数组和指针密切相关,几乎可以互相使用。数组名字可以认为是常量指针,它指向存放数组第一个元素的内存地址。指针可以用于完成任何涉及数组下标的操作。实际上,数组下标表示法在编译期间将转换为指针表示法,所以用指针方式来书写数组下标表达式可以节省编译时间。如果再定义一个字符指针:char*pname=name;则name[i]、*和*具有相同的值,都是数组第i+1个元素的值。分析以下程序的执行结果。......
2025-09-30
C++是一种编译性的语言,设计好一个C++源程序后,需要经过编译、连接,生成可执行的程序文件,然后执行并调试程序。当C++源程序设计好后,程序员利用一个编辑系统将源程序输入计算机中的某一个文件中,并进行必要的修改。C++源程序文件的扩展名为.cpp。在VC++6.0环境中,编译和连接两个步骤是由系统本身一次完成的。完整的C++程序的开发步骤如图1.2所示。图1.2C++程序开发步骤......
2025-09-30
指针初始化有几种方式:指针对象可以被一个具有相同类型的对象初始化。下面的例子将整型指针ip赋给另一整型指针ip2:int*ip2=ip;此时,这两个指针指向同一内存空间,可用图1.8表示。图1.8指针与指针所指对象如果程序员想强制赋给指针另一种类型变量的地址,则必须显式进行类型转换。如要将一个整型指针的值赋给浮点数指针,可以采用以下语句:float*fp=ip;通过直接分配内存地址得到初值。......
2025-09-30
C++的标准输入/输出流库用于数据的输入/输出,用于输入/输出的流库包含在头文件iostream.h中。表1.4常用的输入/输出流操纵符显示常数使用cout可以显示字符串和数字,并可显示多个值。因此,用户输入数据时要避免输入的数据超出指定变量的值域。程序的执行结果如下:注意:使用cin输入一个字符串时,其中不能含有空格,否则,cin认为输入结束。......
2025-09-30
类是一种用户自定义的数据类型,定义一个类,就是描述类名及其成员。“类名”是一个标识符,用于唯一标识一个类。分析以下声明MyClass类的组成。该类的描述如图2.1所示,其中大圆圈中列出的函数名均为公有函数名,小圆圈中列出的是所有数据成员。图2.1MyClass类描述注意:因为类是一种数据类型,在声明一个类时系统并不会为其分配内存空间,所以在定义类中的数据成员时,不能对其进行初始化。......
2025-09-30
C++支持三种格式的循环控制语句:while、do和for语句。图1.3while语句的执行过程编写一个程序,将用户输入的整数反向显示出来。解:程序如下:3.for语句for语句通常用于预先知道循环次数的情况,其一般形式为:for语句;其中,“初始化语句”可以是一个定义语句或表达式语句,一般用于对一组变量进行初始化或赋值。“表达式2”在每次循环执行完成后执行,一般用于改变控制循环的变量。......
2025-09-30
计算机语言的种类非常多,总的来说可分成机器语言、汇编语言、高级语言三大类。计算机硬件系统可以识别的语言只有机器语言,它是由0和1构成的二进制代码。目前,通用的编程语言主要有两种形式:汇编语言和高级语言。但汇编源程序一般比较冗长、复杂、容易出错,使用汇编语言编程需要有更多的计算机专业知识。......
2025-09-30
相关推荐