C++类的定义和声明
来源:互联网 发布:软件使用手册编写目的 编辑:程序博客网 时间:2024/05/17 22:49
C++语言可以看成是C语言的扩展和改进,相对于C语言,C++语言主要是增添了面向对象的特性。类(Class)则是C++面向对象编程的实现方式。
无论是何种编程语言,进行面向对象程序设计都将是从类的设计开始的。什么是类呢?其实很简单,我们可以理解为一种用户自定义的数据类型,类似于C语言里面的结构体(struct),在本章最后我们将对比类和结构体之间的异同。
首先我们来了解一下类的声明,先来看一个例子。
[例1] 一个最简单的类声明:
class student { //可以在此处声明类成员变量和成员函数 };
在例1中创建了一个student类,可以在该类中声明student类的成员变量和成员函数,用于描述student的各方面特性,例如姓名、学号、年龄等信息。
在例1中class是C++关键字,也是用于类声明的关键字。紧接class关键字之后的是我们自定义的类名student。
例1中的类定义我们可以理解为我们定义了一种新的数据类型,该数据类型的标识符为student(这个类似于int是C++中整形的标识符)。
特别要注意的一点是,在类声明结束处右括号“}”后面右一个分号“;”,这个分号一定不能忘记,它是类声明的一部分。如果漏掉则会在程序编译不通过。
声明了student数据类型之后,我们就可以用其定义变量了,如:
student LiLei; //创建对象
在这一条语句中就利用student数据类型声明了一个LiLei的变量,这和
int a; //定义整形变量
语句定义了一个整型变量表达的意思是类似的。而LiLei这个变量我们称之为student类的对象。
在用类定义对象的时候,一定要先给出类声明,这就好比用某种自定义数据类型来定义变量的时候,我们必须要先给出该数据类型的声明一样。由于C++里面本身集成一些常用数据类型,如int、bool、double等,所以在用这些数据类型声明变量时不需要再由我们自己给出类型声明了。
在定义类的对象时,class关键字可要可不要,如例2所示,但通常出于习惯我们通常都会省略掉class关键字。
[例2] class关键字可要可不要:
class student LiLei; //正确 student LiLei; //同样正确
定义类对象时,除了能定义单个变量以外,用类定义一个数组或者指针都是可行的。
[例3] 定义对象数组或指针:
student all_student[1000]; student * pointer;
在例3中,我们定义了一个all_student数组,该数据拥有1000个元素,每一个元素都是student类型。此外,我们定义了一个student类型的指针pointer,该指针可以指向student类型的变量,其用法跟普通指针是一样的。
- c++/MFC类的声明和定义
- C++Primer学习-类(类的定义和声明)
- Objective-C 2.0 类的声明和定义
- C/C++中类的声明和定义
- C变量的声明和定义
- C 语言变量的声明和定义
- C变量的声明和定义
- c语言变量的声明和定义
- C变量的声明和定义
- C变量的声明和定义
- 声明和定义的区别(C++)
- C语言定义和声明的区别
- 类的定义和声明
- c语言定义和声明
- C语言定义和声明
- 变量和函数的声明与定义(C/C++)
- C变量和函数的声明和定义
- 类的声明和定义的区别
- 如何算掌握了Java EE
- 关于_beginthreadex、_beginthread和CreateThread的区别
- 机器学习(二十二)- Recommender Systems
- Latax 排版问题 报错: undefined control sequence \includegraphics
- qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
- C++类的定义和声明
- Python数据结构练习
- Python教程:进击机器学习(三)--Numpy
- ZZULIOJ【1116】删除元素【数组】
- 学习Ethereum需要使用的工具以及技术
- Spring Boot,IntelliJ IDEA,JSP,启动报错java.lang.NoClassDefFoundError: javax/servlet/ServletContext
- 有关大数据学习的笔记和遇到的问题
- Tiles 引入页面时 部分Js不可用
- 有方向的CNN--Oriented Response Networks