《C++面向对象程序设计》从C到C++分析.ppt

  1. 1、本文档共162页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 从C到C++ 2.1自定义数据类型:结构体、共用体、位域、枚举、 typedef声明类型 2.2 函数:引用、参数传递方式、函数的重栽、有默认参数的函数、内联函数、函数调用栈结构、函数返回引用、 函数指针和指针函数 2.3 struct with function C++提供了许多种基本的数据类型(如int、float、double、char等)供用户使用。此外,用户可以自己声明的类型还有结构体(structure)类型、共用体(union)类型、枚举(enumeration)类型、类(class)类型等,这些统称为用户自定义类型(user-defined type,UDT)。 2.1.1 结构体 一、结构体的定义 结构体用于标识一种新的数据类型,即结构体类型,它是复合数据类型。 一个对象的属性往往由不同类型的数据描述,例如职工的属性包括: 姓名 编号 工资 地址 电话 字符串 长整型 浮点型 字符串 长整型 若存放一个单位的职工信息,要用多个不同类型,长度相同的数组,给处理带来麻烦。为把不同类型的数据组合在一起,C++提供了结构。 定义职工的结构数据类型: struct employee { string name; //C++ 字符串 long code; float salary ; char address[50] ; //C字符串 char phone[11]; } ; 定义结构体变量方法有下面几种: (1)在定义结构体类型的同时,直接给出结构体变量。struct 结构体名 struct student { { 结构体成员变量的定义; char name[10]; …… int num; }变量名1,...,变量名n; }s1, s2, s3, …, sn; (2)无结构体名struct struct { { 结构体成员变量的定义; char name[10]; …… int num; }变量名1,...,变量名n; }s1, s2, s3, …, sn; (3)先给出结构体类型的定义,再定义结构体变量。 struct 结构体名 struct student { { 结构体成员变量的定义; char name[10]; …… int num; }; }; struct 结构体名 变量名1,变量名2,...,变量名n; struct student s1, s2,…, sn; 另外,还可以通过typedef来简化定义。 typedef struct 结构体名 typedef struct student { { 结构体成员变量的定义; char name[10]; …… int num; }类型名; } STU; 类型名 变量名1,变量名2,...,变量名n; STU s1, s2,…, sn; 结构体成员变量与普通变量的定义一样,它还可以是结构体变量。 struct date struct student { { int month; char name[10]; int day; int num; int year; struct date birthday; }; }; 二、结构体变量的初始化 简单变量的初始化形式如下: 数据类型 变量名 = 初始化值; int x = 123; 数组的初始化形式如下: 数据类型 数组名称数组长度]={初始化值1,初始化值2,…, 初始化值n}; int A[5]={20,21,0,3,4}; 结构体变量的初始化方式与数组类似。 struct 结构体标识符 { 成员变量列表; … }; struct结构体标识符 变量名={初始化值1,初始化值2,…, 初始化值n }; 例2.1 struct student { int num; char name[20]; char sex; int age; char addr[30]; }; int main() { struct student s1 = Li xiaolong,M,21,191 BinHai Road Yantai, China}; printf(No.:%ld\nname:%s\nsex:%c\nag

文档评论(0)

糖糖 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档