c++学习总结(第二篇)
来源:互联网 发布:mac调整鼠标大小 编辑:程序博客网 时间:2024/06/05 13:30
1、类的定义,以Sales_item为例
class Sales_item{
public:
//Sales_item对象所调用的操作
private:
std::string isbn;
unsigned units_sold;
double revenue;
};//分号不能丢失
类定义以关键字class开始,其后是该类的名字标识符,类体位于花括号里面,花括号后面必须跟一个分号。
类体可以为空,类体定义了组成该类型的数据的操作,这些操作和数据是类的一部分,也称为类的成员。操作成为成员函数,而数据则成为数据成员。
2、类的数据成员
定义类的数据成员和定义普通变量有些相似,有个非常重要的区别就是:不能把类成员的初始化作为其定义的一部分。当定义数据成员时,只能制定该数据成员的名字和类型,类不是在类定义里定义数据成员时初始化数据成员,而是通过构造函数的特殊成员函数控制初始化。(PS:构造函数后面会说明,我之前学过java,所以知道构造函数就是用于类的初始化,相信各位大神都知道。不明白的人也不要着急,这个c++系列就是一步一步的个人学习总结)
3、访问标号
上面用到的访问标号是public和private,访问标号负责控制使用该类的代码是否可以使用给定的成员(成员包括成员函数和数据成员)。类的成员函数可以使用类的任何成员,而不管其访问级别。访问标号public、private可以多次出现在类定义中。给定的访问标号应用到下一个访问标号出现时为止。
类中public部分定义的成员在程序的任何部分都可以访问,一般把操作放在public部分,这样程序的任何代码都可以执行这些操作。不是类的组成部分的代码不能访问private成员,通过设定Sales_item的数据成员为private,可以保证对Sales_item对象进行操作的代码不能直接操纵其数据成员。
4、使用struct关键字来定义类
c++支持另一个关键字struct,它也可以定义类类型,struct是从c语言中集成过来的。
如果使用class关键字来定义类,那么定义在第一个访问标号前的任何成员都隐式指定为private;如果使用struct关键字,那么这些成员都是默认为public。
可以等效地定义Sales_item类:
struct Sales_item{//这里不是class关键字,而是struct
//无需特别声明public访问标号,默认即public
private:
std::string isbn;
unsigned units_sold;
double revenue;
};//同样也有一个分号结尾
使用class和struct关键字定义类的唯一差别在于默认访问级别:默认情况下,struct的成员为public,而class的成员为private。
个人总结及注意点:
(1)说到类的成员不要仅仅只意识到数据成员,同时还有成员函数。所以要注意c++中成员包括数据成员和成员函数。
(2)struct是c语言中学习过的,当时只知道需要定义一个数据结构的时候要用到struct,想不到它还能够跟c++的class关键字起到相同的作用。这句话“相同的作用”我只是自己感觉,说的不对的地方还请大神指正。
- 学习总结第二篇
- c++学习总结(第二篇)
- c语言学习第二周问题总结
- 《Head First C#》学习 ---第二章总结
- 黑马程序员-----第二篇 C语言总结(二)
- 黑马程序员-我的第二篇学习日记:C语言中的 if 语句总结
- C/C++ 日常学习总结(第二十一篇)智能指针shared_ptr
- 实训学习课——C#(第二篇)
- Android wakelock 学习总结第二篇
- Android wakelock 学习总结第二篇
- Android wakelock 学习总结第二篇
- Android wakelock 学习总结第二篇
- Android学习总结(第二周)
- 第二天学习总结
- 第二章学习总结
- 第二周学习总结
- 第二章(开始学习C++)
- c++primer 学习笔记(第二章)
- leetcode Evaluate Reverse Polish Notation
- windows下mysql忘记root密码的解决方法
- TortoiseSVN使用
- Convert number
- 数据库中的存储过程
- c++学习总结(第二篇)
- 关于VS的Debug一些问题
- PAT 1011. A+B和C (15)
- Gallery的使用(二):显示抓拍的图片
- html和css
- python - struct
- PAT 1012. 数字分类 (20)
- 2014.3.29腾讯实习生附加题
- Loading Files With U-Boot via The Serial Port