C++ Primer:第七章:类】的更多相关文章

术语表 第 7 章 类 抽象数据类型(abstract data type): 封装(隐藏)了实现细节的数据结构.    访问说明符(access specifier): 包括关键字 public 和 private.用于定义成员对类的用户可见还是只对类的友元和成员可见.在类中说明符可以i出现多次,每个说明符的有效范围从它自身开始,到下一个说明符为止.    聚合类(aggregate class): 只含有公有成员的类,并且没有类内初始值或者构造函数.聚合类的成员可以用花括号括起来的初始值列表…
类和继承 类继承访问继承的成员所有类都派生自object类屏蔽基类的成员基类访问使用基类的引用 虚方法和覆写方法覆写标记为override的方法覆盖其他成员类型 构造函数的执行 构造函数初始化语句类访问修饰符 程序集间的继承成员访问修饰符 访问成员的区域public的可访问性private的可访问性protected的可访问性internal的可访问性protected internal的可访问性成员访问修饰符小结 抽象成员抽象类 抽象类和抽象方法示例抽象类的另一个例子 密封类静态类扩展方法命名…
//1.定义在类内部的函数是隐式内联的. //2.默认情况下,this指针的类型是指向类类型非常量版本的常量指针.对于类的常量成员函数的声明方法是:将const放置于成员函数的参数列表后,用于修饰this指针.对于类A,其一般的this指针类型为:A *const this;其常量常量成员函数中的this指针类型为:const A* const this. //3.编译器处理类的时候,先编译成员的声明,然后才轮到成员函数体.所以成员函数可以随意使用类的其他成员而无须在意这些成员出现的顺序. //…
定义抽象数据类型 定义在类内部的函数是隐式的inline函数. const成员函数 又叫做常量成员函数, 成员函数参数列表之后紧跟const关键字, const修饰的是类this指针. 默认情况下this的类型是指向类类型非常量版本的常量指针. 假如有一个名为MyClass的类, 在该类的普通成员函数中, this类型为MyClass *const类型, 即this本身不可改变, 但是可以改变this所指对象的成员变量. 对于该类的const成员函数, this类型为const MyClass…
最好不要把对象的定义和类的定义放在一起,这么做无异于把两种不同实体的定义混在了一条语句里,一会定义类,一会又定义变量,显然这是一种不被建议的行为. 类的定义最后要加上分号(:) 成员函数的声明必须放在类的内部,它的定义则既可以在类的内部也可以在类的外部,而作为接口组成部分的非成员函数,例如add. read.和print等,他们的定义和声明都在外部 任何对类成员的直接访问都被看做this的隐式引用,也就是说,当isbn使用bookNo时,它隐式地使用this指向的成员,就像我们书写了this -…
第七章 类 一.定义抽象数据类型 类背后的基本思想:数据抽象(data abstraction)和封装(encapsulation). 数据抽象是一种依赖于接口(interface)和实现(implementation)分离的编程技术. 1. 类成员 必须在类的内部声明,不能在其他地方增加成员. 成员可以是数据,函数,函数别名. 2. 类的成员函数 成员函数的声明必须在类的内部. 成员函数的定义既可以在类的内部也可以在外部. 使用 点运算符 . 调用成员函数. 必须对任何const或者引用类型成…
好吧,我都要吐了. 接连三个例子都是类似的套路,使用某个查询参数类的实例,结合对应的Task类,对返回值进行取值.显示. 这个例子是Identify识别,使用了TileLayer这种图层,数据来自Server的MapServer. 结果演示 戳不同的地方会有不同的识别结果. 我对TileLayer不是很了解,这一例仅针对有了解的同学,做一个IdentifyTask的解释. IdentifyTask/IdentifyParameter/IdentifyResult三个类 既然是一样的套路,那么先对…
第七章 复用类 第一种方法非常直观:只需在新的类中产生现有类的对象(组合). 第二种方法更细致一些:它按照现有类的类型来创建新类(继承). 7.1 组合语法   只需将对象引用置于新类中即可. class A{} class B{ A a = new A(); }   如果想初始化这些引用,可在下列位置进行: 在定义对象的地方. 在类的构造器中. 在真正使用这些对象之前,惰性初始化. 使用实例初始化. 7.2 继承语法 当创建一个类时,总是在继承.   在继承过程中,需要先声明"新类与旧类相似&…
这两章的标题是C控制语句:循环以及C控制语句:分支和跳转.之所以一起讲,是因为这两章内容都是讲控制语句. 第六章的第一段示例代码 /* summing.c --对用户输入的整数求和 */ #include <stdio.h> int main (void) { long num; long sum = 0L; int status; printf("Please enter an integer to be summed. "); printf("q to qui…
C++入门第七章:函数-C++的编程模块 函数的基本知识 要使用C++函数,必须完成如下工作: 提供函数定义 提供函数原型 调用函数 库函数是已经定义和编译好的函数,可使用标准库头文件提供原型. 定义函数的模板: typename functionName(parameterList) { statements return value; } 对于有返回值的函数,必须使用return语句返回.可以是常量.变量或者是表达式.其结果的类型只能为typename,若不是,会进行强制类型转换. C++对…