C++术语——类【C++primer 第四版】

abstract data type(抽象数据类型): 使用封装来隐藏其实现的数据结构,允许使用类型的程序员抽象地考虑该类型做什么,而不是具体地考虑类型如何表示。C++中的类可以用来定义抽象数据类型。

access label(访问标号): public、private、protected,指定后面的成员可以被类的使用者访问或者只能被类的友元和成员访问。每个标号为在该标号到下一个标号之间声明的成员设置访问保护。标号可以出现多次。

class(类): C++中定义抽象数据类型的一种机制,可以有数据、函数或者类型成员。一个类定义了新的类型和新的作用域。

class declaration(类声明): 类可以在定义之前声明。类声明用关键字class(或struct)表示,后面加类名和一个分号。已声明但没有定义的类是一个不完全的类型。

class keyword(class 关键字): 用在class关键字定义的类中,初始的隐式访问标号是private。

class scope(类作用域): 每个类定义一个作用域。类的作用域比其他作用域复杂得多——在类的定义体内定义的成员函数可以使用出现在该定义之后的名字。

concrete class(具体类): 暴露其实现细节的类。

const member function(常量成员函数): 一种成员函数,不能改变对象的普通(即,既不是static,也不是mutable)数据成员。const 成员中的this指针指向const对象。成员函数是否可以被重载取决于该函数是否为const。

constructor initializer list(构造函数初始化列表):指定类的数据成员的初始值。在构造函数体执行前,用初始化列表中指定的值初始化成员。没有在初始化列表中初始化的类成员,使用它们的默认构造函数隐式初始化。

conversion constructor(转换构造函数): 可用单个实参调用的非explicit构造函数。隐式使用转换构造函数将实参的类型转换为类类型。

data abstraction(数据抽象): 注重类型接口的编程技术。数据抽象允许程序员忽略类型如何表示的细节,而只考虑该类型可以执行的操作。数据抽象是面向对象编程和泛型编程的基础。

default constructor(默认构造函数):没有指定初始化时使用的构造函数。

encapsulation(封装):实现与接口的分离。封装隐藏了类型的实现细节。在C++中,实施封装可以阻止普通用户访问类的private部分。

explicit constructor(显示构造函数): 可以用单个实参调用但不能用于执行隐式转换的构造函数。通过将关键字explicit 放在构造函数的声明之前而将其设置为explicit。

forward declaration(前向声明):对尚未定义的名字的声明。大多用于引用出现在类定义之前的类声明。参见不完全类型。

friend(友元): 类授权访问其非public成员的机制。类和函数都可以被指定位友元。友元拥有与成员一样的访问权。

incomplete type(不完全类型): 已声明但未定义的类型。不能使用不完全类型来定义变量或类成员。定义指向不完全类型的引用或指针是合法的。

member function(成员函数): 类的函数成员。普通成员函数通过隐式的this指针绑定到类类型对象。static 成员函数不与对象绑定且没有this指针。成员函数可以被重载,只要该函数的版本可由形参的数目或类型来区别。

mutable data member(可变数据成员):一种永远也不能成为const对象的数据成员,即使作为const对象的成员,也不能成为const对象。mutable成员可以在const函数中改变。

name lookup(名字查找):将名字的使用与其相应的声明相匹配的过程。

private member(私有成员):在private访问标号之后定义的成员,只能被友元和其他的类成员访问。类所使用的数据成员和实用函数在不作为类型接口的组成部分时,通常声明为private。

public member(共有成员): 在public访问标号之后定义的成员,可被类的任意使用者访问。一般而言,只有定义类接口的函数应该定义在public部分。

static member(静态成员): 不是任意对象的组成部分、但由给定类的全体对象所共享的数据或函数成员。

时间: 2024-08-24 23:03:34

C++术语——类【C++primer 第四版】的相关文章

C++ Primer 第四版中文完整版 和答案完整版

前段时间下载的C++Primer 第四版中文版 缺少第十到第十三章,终于下到了完整版的电子书还找到了完整的配套答案. 全部供大家免费下载: 下面是链接: 由于CSDN限制文件的大小所以C++primer 分了两个文件 还有答案是一个文件: http://download.csdn.net/my C++ Primer 第四版中文完整版 和答案完整版,布布扣,bubuko.com

C++ Primer 第四版课后练习解答 习题1.1

注意:本随笔是在<C++Primer(第四版)习题解答(完整版)>中直接抄录的.此处主要是便于本人以后反复阅读. 习题1.1 查看所用的编译器文档,了解它所用的文件命名规范.编译并运行本节的main程序. [解答] 一般而言,C++编译器要求编译的程序保存在文件中.C++程序一般涉及两类文件:头文件和源文件.大多数系统中,文件的名字由文件名和文件后缀(又称扩展名)组成.文件后缀通常表明文件的类型,如头文件的后缀可以是.h或.hpp等:源文件和后缀可以是.cc或.cpp等,具体的后缀与使用的编译

C++ Primer 第四版课后练习解答 习题1.13

注意:本随笔是直接参考<C++Primer(第四版)习题解答(完整版)>中的.此处主要是便于本人以后反复阅读. 习题1.13 编译器不同,理解其诊断内容的难易程度也不同.编写一些程序,包含本小节"再谈编译"部分讨论的那些常见错误.研究编译器产生的信息,这样你在编译更复杂的程序遇到这些信息时不会陌生. [解答] 对于程序中出现的错误,编译器通常会给出简略的提示信息,包括错误出现的文件及代码行.错误代码.错误性质的描述.如果要获得关于错误的详细信息,一般可以根据编译器给出的错误

C++ Primer 第四版课后练习解答 习题1.2

注意:本随笔是在<C++Primer(第四版)习题解答(完整版)>中直接抄录的.此处主要是便于本人以后反复阅读. 习题1.2 修改程序使其返回-1.返回值-1通常作为程序运行失败的指示器.然而,系统不同,如何(甚至是否)报告main函数运行失败也不同.重新编译并再次运行程序,看看你的系统如何处理main函数的运行失败指示器. [解答]笔者所使用的Windows操作系统并不报告main函数的运行失败,因此,程序返回-1或返回0运行效果上没有什么区别.但是,如果在DOS命令提示符方式下运行程序,然

C++ Primer 第四版课后练习解答 习题1.3

注意:本随笔是在<C++Primer(第四版)习题解答(完整版)>中直接抄录的.此处主要是便于本人以后反复阅读. 习题1.3 编一个程序,在标准输出上打印"Hello,World". [解答] 1 #include <iostream> 2 3 int main() 4 { 5 std::cout << "Hello,World" << std::endl; 6 return 0; 7 } 本人代码示例: 1 #inc

C++ Primer 第四版课后练习解答 习题1.19

注意:本随笔是直接参考<C++Primer(第四版)习题解答(完整版)>中的.此处主要是便于本人以后反复阅读. 习题1.19 如果上题给定的数1000和2000,程序将产生什么结果?修改程序,使每一行输出不超过10个数. [解答] 1 int main() 2 { 3 int v1, v2, low,up; 4 cout << "Enter tow numbers " << endl; 5 cin >> v1 >> v2; 6

C++ Primer 第四版课后练习解答 习题1.8

注意:本随笔是在<C++Primer(第四版)习题解答(完整版)>中直接抄录的.此处主要是便于本人以后反复阅读. 习题1.8 指出下列输出语句那些(如果有)是合法的. std::cout << "/*"; std::cout << "*/"; std::cout << /* "*/" */; 预测结果,然后编译包含上述三条语句的程序,检查你的答案.纠正所遇到的错误. [解答] 第一条和第二条语句合法

C++ Primer 第四版课后练习解答 习题1.11

注意:本随笔是直接参考<C++Primer(第四版)习题解答(完整版)>中的.此处主要是便于本人以后反复阅读. 习题1.11 用while 循环编程,输出10 到0递减的自然数.然后用for 循环重写该程序. [解答] 用while循环编写的程序: 1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 int i = 10; 7 while (i >= 0) 8 { 9 cout <<

C++ Primer 第四版课后练习解答 习题1.12

注意:本随笔是直接参考<C++Primer(第四版)习题解答(完整版)>中的.此处主要是便于本人以后反复阅读. 习题 1.12 对比前面两个习题中所写的循环.两种形式各有何优缺点? [解答] 在for 循环中,循环控制变量的初始化和修改都放在语句头部分,形式较简洁,且特别适用于循环次数已知的情况.在while循环中,循环控制变量的初始化一般放在while语句之前,循环控制变量的修改一般放在循环体中,形式上不如for语句简洁,但它比较适合用于循环次数不易预知的情况(用某一条件控制循环).两种形式

C++ Primer 第四版课后练习解答 习题1.18

注意:本随笔是直接参考<C++Primer(第四版)习题解答(完整版)>中的.此处主要是便于本人以后反复阅读. 习题1.18 编写程序,提示用户输入两个数并将这两个数范围内的每个数写到标准输出. [解答] while循环实现 1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 int v1, v2, low,up; 7 cout << "Enter tow numbers &quo