"结构体类型变量的引用-C++面向对象的课件"
在C++编程中,结构体(struct)是一种自定义数据类型,允许我们组合不同类型的数据在一个单一的实体中。本课件主要关注结构体类型变量的引用,这是理解和使用C++面向对象特性的一个重要概念。
1. 结构体变量的引用:
结构体变量不能像普通变量那样整体赋值或直接输出。例如,`cin>>student1`这样的操作是不允许的,因为结构体是一个复合类型,它包含了多个成员。如果想要改变结构体的某个成员,需要直接引用该成员,如`cin>>student1.num;` 或 `student1.num=100;`。然而,可以将一个结构体变量整体赋给另一个相同类型的结构体变量,这被称为赋值拷贝,如`student2 = student1;`。
2. 嵌套的结构体变量:
如果结构体中包含其他结构体,即嵌套结构体,那么访问这些内部结构体的成员需要逐层引用。例如,`student1.birthday.day=25;` 这行代码表示改变`student1`结构体中名为`birthday`的结构体成员`day`的值。
3. 结构体变量成员的运算:
结构体变量的成员可以像普通变量一样参与运算。比如,`student1.birthday.day++;` 会增加`student1`的生日日期一天,`student1.score += 60;` 则会增加学生分数60分。但是,必须使用成员名来引用结构体的成员,不能直接对整个结构体进行算术运算。
C++的发展历程:
C++是由C语言演变而来,由Bjarne Stroustrup在1980年代初期为了改进C语言的面向对象特性而设计。C++不仅保留了C语言的效率和灵活性,还引入了类、模板、异常处理、命名空间等面向对象的特性。C++的目标是成为一个支持多种编程范式的语言,包括过程式编程、面向对象编程以及泛型编程。
C语言的特点:
- 结构化:C语言是一种结构化编程语言,提倡模块化编程,使得代码易于理解和维护。
- 高级与低级语言的结合:C语言拥有丰富的运算符,支持位运算,可以进行底层内存操作,因此既有高级语言的抽象性,也有汇编语言的灵活性。
- 可移植性:C语言编写的程序可以在不同的计算机平台上运行,只需少量或无需修改。
- 语法自由度:C语言的语法结构相对宽松,给予程序员更大的自由度,但也意味着调试难度相对较高。
随着C语言的普及,人们也注意到其不足之处,例如缺乏对对象和类的支持,内存管理手动且容易出错,以及没有内置的异常处理机制等。这些不足后来在C++中得到了改善,使得C++成为了一种更加强大和全面的编程语言。