读书笔记之:C++Primer 第4版(ch1214)

摘要:
第12章第1类。构造函数类的构造函数通常使用初始化列表来初始化对象的数据成员。在C++中,结构和类都定义了一个类。因为您可以在C构造函数Friend静态成员变量和成员函数中初始化结构的显示。第13章复制控件每个类型,无论是内置类型还是类类型,都定义了此类型对象的一组操作的含义。复制构造函数赋值析构函数第14章重载运算符和转换

第12章 类
1. 构造函数
 类的构造函数一般使用一个初始化列表来初始化对象的数据成员。
2. 成员函数
 在类内部声明成员函数是必须的,而定义成员函数则是可选的。在类内部定义的函数默认为inline。而在类外部定义的成员函数必须指明它们是在类的作用域内。
成员函数有一个附加的隐含实参,将函数绑定到调用函数的对象。这个隐含的实参其实是this指针。对像的this指针并不是对象本身的组成部分,它不占对象的内存空间,在每次非static成员函数调用对象的时候,this指针作为隐藏的第一个参数由编译器传递给对象。
将关键字const 加在形参表之后,就可以将成员函数声明为常量:
如:
  double avg_price() const;

const成员不能改变其所操作的对象的数据成员。const必须同时出现在声明和定义中,若只出现在一处,就会出现一个编译时错误
3. 数据抽象与封装

读书笔记之:C++Primer 第4版(ch1214)第1张读书笔记之:C++Primer 第4版(ch1214)第2张
4. 类的声明与定义
类的定义放在头文件件中是一个很好的做法。
可以声明一个类而不定义它:
如:class Screen;
这个声明也称为前向声明,在声明之后定义之前,这个类是一个不完全类型,即已知类型却不知道包含哪些成员。
5. 类对象
定义类是定义了一种新的类型,定义了类型之后就可以定义该类型的对象。定义对象的时候要为对象分配存储空间,但定义类型的时候是不进行存储分配的。
6. 类成员的显示初始化
  对于没有定义构造函数并且其全体数据成员均是public的类可以采用与初始数组元素相同的方式初始化其成员。读书笔记之:C++Primer 第4版(ch1214)第3张
  这个地方所说的其实就是struct。在C++中struct和class一样都是定义一个类。在C++中允许这种形式的初始化其实就是为了对C程序实现兼容。
  因为在C中可以对struct进行显示的初始化。

读书笔记之:C++Primer 第4版(ch1214)第4张读书笔记之:C++Primer 第4版(ch1214)第5张读书笔记之:C++Primer 第4版(ch1214)第6张读书笔记之:C++Primer 第4版(ch1214)第7张读书笔记之:C++Primer 第4版(ch1214)第8张读书笔记之:C++Primer 第4版(ch1214)第9张

构造函数

读书笔记之:C++Primer 第4版(ch1214)第10张读书笔记之:C++Primer 第4版(ch1214)第11张读书笔记之:C++Primer 第4版(ch1214)第12张读书笔记之:C++Primer 第4版(ch1214)第13张读书笔记之:C++Primer 第4版(ch1214)第14张读书笔记之:C++Primer 第4版(ch1214)第15张读书笔记之:C++Primer 第4版(ch1214)第16张读书笔记之:C++Primer 第4版(ch1214)第17张读书笔记之:C++Primer 第4版(ch1214)第18张

友元 

读书笔记之:C++Primer 第4版(ch1214)第19张

Static成员变量和成员函数

读书笔记之:C++Primer 第4版(ch1214)第20张读书笔记之:C++Primer 第4版(ch1214)第21张读书笔记之:C++Primer 第4版(ch1214)第22张读书笔记之:C++Primer 第4版(ch1214)第23张

第13章 复制控制

每种类型,无论是内置类型还是类类型,都对该类型对象的一组操作的含义进行了定义。每种类型还定义了创建该类型的对象时会发生什么——构造函数定义了该类 型对象的初> 始化。类型还能控制复制、赋值或撤销该类型的对象时会发生什么——类通过特殊的成员函数:复制构造函数、赋值操作符和析构函数类控制这些行为。

读书笔记之:C++Primer 第4版(ch1214)第24张读书笔记之:C++Primer 第4版(ch1214)第25张

  1. 复制构造函数

读书笔记之:C++Primer 第4版(ch1214)第26张

读书笔记之:C++Primer 第4版(ch1214)第27张

读书笔记之:C++Primer 第4版(ch1214)第28张

读书笔记之:C++Primer 第4版(ch1214)第29张

读书笔记之:C++Primer 第4版(ch1214)第30张

读书笔记之:C++Primer 第4版(ch1214)第31张

读书笔记之:C++Primer 第4版(ch1214)第32张

读书笔记之:C++Primer 第4版(ch1214)第33张

读书笔记之:C++Primer 第4版(ch1214)第34张

读书笔记之:C++Primer 第4版(ch1214)第35张

读书笔记之:C++Primer 第4版(ch1214)第36张

  1. 赋值操作

读书笔记之:C++Primer 第4版(ch1214)第37张

  1. 析构函数

读书笔记之:C++Primer 第4版(ch1214)第38张

第14章 重载操作符与转换

读书笔记之:C++Primer 第4版(ch1214)第39张读书笔记之:C++Primer 第4版(ch1214)第40张读书笔记之:C++Primer 第4版(ch1214)第41张读书笔记之:C++Primer 第4版(ch1214)第42张读书笔记之:C++Primer 第4版(ch1214)第43张读书笔记之:C++Primer 第4版(ch1214)第44张读书笔记之:C++Primer 第4版(ch1214)第45张

读书笔记之:C++Primer 第4版(ch1214)第46张读书笔记之:C++Primer 第4版(ch1214)第47张读书笔记之:C++Primer 第4版(ch1214)第48张读书笔记之:C++Primer 第4版(ch1214)第49张

免责声明:文章转载自《读书笔记之:C++Primer 第4版(ch1214)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇读书笔记之:C专家编程C/C++语言中const的用法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

右值引用与转移语义(C++11)

参考资料: http://www.cnblogs.com/lebronjames/p/3614773.html 左值和右值定义: C++( 包括 C) 中所有的表达式和变量要么是左值,要么是右值。通俗的左值的定义就是非临时对象(可以取地址,有名字),那些可以在多条语句中使用的对象。所有的变量都满足这个定义,在多条代码中都可以使用,都是左值。右值是指临...

封装、继承和构造函数

编程的最基本的单元:类用户自定义类型;ps:Student类student s=new student //实例化实例化出来的s就叫对象 封装:将数据源给保护起来,不能随意的取值赋值 基本格式:class student{private string _Name; //私有的成员变量,明星 public string Name //公共的属性,明星的经纪人{...

C++实现String容器的基本功能

本文只实现String类的构造函数、析构函数、赋值构造函数和赋值函数,其他操作不再详述,一般的笔试面试基本上也只会要求实现这四个函数的功能。 #include <iostream> using namespacestd; classString { public: //构造函数 String(const char...

[转载]有关placement new

原帖地址:http://bbs.pfan.cn/post-320940.html 有关placementnewhzh512placementnew的含义placementnew是重载operatornew的一个标准、全局的版本,它不能够被自定义的版本代替(不像普通版本的operatornew和operatordelete能够被替换)。void*operato...

javase基础复习攻略《五》

总结完JAVA的基础语法和面向对象思想后,今天为大家补充一下JAVA中的数组,数组是什么呢?大家是不是想到了集合,数组和集合有相似之处,集合中的数据无序,不可以重复。数组中则存放着具有相同特征的一组数据集合,数组中的数据有序且可以重复,数组使用时应先声明,再分配存储长度,然后才能够使用。 JAVA中的数组类似于C语言的数组定义,分为一维数组、二维数组、三维数...

JAVA学习笔记--ClassLoader

仅先摘要书中内容以记之,后续也许需要更深入的去探索。先推荐篇博文http://blog.csdn.net/xyang81/article/details/7292380 6.9 初始化和类装载在许多传统语言里,程序都是作为启动过程的一部分一次性载入的。随后进行的是初始化,再是正式执行程序。在这些语言中,必须对初始化过程进行慎重的控制,保证static数据的...