C++教程 第6页

C++ continue 语句-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ continue 语句

C++ continue 语句 C++ 循环 C++ 中的 continue 语句有点像 break 语句。但它不是强迫终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。 对于 for 循环,continue 语句会导致执行条件测试和循环增量部分。对于 while 和 do…while 循环,continue 语句会导致程序控制回到条件测试上。 语法 C++ 中 continue 语句的语法: continue; 流程图 实例 #include <iostream> using namespace std; int main () { // 局部变量声明 int a = 10; // do 循环执行 do { if( a == 15) { // 跳过迭代 a = a + 1; continue; } cout << "a 的值:" << a << endl; a = a + 1; }while( a < 20 ); return 0; } 当上面的代码被编译和执行时,它会产生下列结果: a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19 C++ 循环

C++ 拷贝构造函数-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 拷贝构造函数

C++ 拷贝构造函数 C++ 类 & 对象 什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include <iostream> using namespace std; class CExample { private:  int a; public: //构造函数  CExample(int b)  { a = b;} //一般函数  void Show ()  { cout<<a<<endl; } }; int main() {  CExample A(100);  CExample B = A; //注意这里的对象初始化要调用拷贝构造函数,而非赋值  B.Show ();  return 0; } 运行程序结果为: 100 从以上代码的运行结果可以看出,系统为对象 B 分配了内存并完成了与对象 A 的复制过程。就类对象而言,相同类型的类对象是通过拷贝构造函数来完成整个复制过程的。 拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于: 通过使用另一个同类型的对象来初始化新创建的对象。 复制对象把它作为参数传递给函数。 复制对象,并从函数返回这个对象。 如果在类中没有定义拷贝构造函数,编译器会自行定义一个。如果类带有指针变量,并有动态内存分配,则它必须有一个拷贝构造函数。拷贝构造函数的最常见形式如下: classname (const classname &obj) { // 构造函数的主体 } 在这里,obj 是一个对象引用,该对象是用于初始化另一个对象的。 #include <iostream> using namespace std; class Line { public: int getLength( void ); Line( int len ); // 简单的构造函数 Line( const Line &obj); // 拷贝构造函数 ~Line(); // 析构函数 private: int *ptr; }; // 成员函数定义,包括构造函数 Line::Line(int len) { cout <<...

C++ 有用的资源-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 有用的资源

C++ 有用的资源 以下资源包含了 C++ 有关的网站、书籍和文章。请使用它们来进一步学习 C++ 的知识。 C++ 有用的网站 C++ Programming Language Tutorials − C++ 编程语言教程。 C++ Programming − 这本书涵盖了 C++ 语言编程、软件交互设计、C++ 语言的现实生活应用。 C++ FAQ − C++ 常见问题 Free Country − Free Country 提供了免费的 C++ 源代码和 C++ 库,这些源代码和库涵盖了压缩、存档、游戏编程、标准模板库和 GUI 编程等 C++ 编程领域。 C and C++ Users Group − C 和 C++ 的用户团体提供了免费的涵盖各种编程领域 C++ 项目的源代码,包括 AI、动画、编译器、数据库、调试、加密、游戏、图形、GUI、语言工具、系统编程等。 C++ 有用的书籍

C++ 一元运算符重载-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 一元运算符重载

C++ 一元运算符重载 C++ 重载运算符和重载函数 一元运算符只对一个操作数进行操作,下面是一元运算符的实例: 递增运算符( ++ )和递减运算符( — ) 一元减运算符,即负号( – ) 逻辑非运算符( ! ) 一元运算符通常出现在它们所操作的对象的左边,比如 !obj、-obj 和 ++obj,但有时它们也可以作为后缀,比如 obj++ 或 obj–。 下面的实例演示了如何重载一元减运算符( – )。 #include <iostream> using namespace std; class Distance { private: int feet; // 0 到无穷 int inches; // 0 到 12 public: // 所需的构造函数 Distance(){ feet = 0; inches = 0; } Distance(int f, int i){ feet = f; inches = i; } // 显示距离的方法 void displayDistance() { cout << "F: " << feet << " I:" << inches <<endl; } // 重载负运算符( - ) Distance operator- () { feet = -feet; inches = -inches; return Distance(feet, inches); } }; int main() { Distance D1(11, 10), D2(-5, 11); -D1; // 取相反数 D1.displayDistance(); // 距离 D1...

C++ 教程-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 教程

C++ 教程 C++ 是一种中级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。 本教程通过通俗易懂的语言来讲解 C++ 编程语言。 现在开始学习 C++ 编程! C++ 在线工具 谁适合阅读本教程? 本教程是专门为初学者打造的,帮助他们理解与 C++ 编程语言相关的基础到高级的概念。 阅读本教程前,您需要了解的知识: 在您开始练习本教程中所给出的各种实例之前,您需要对计算机程序和计算机程序设计语言有基本的了解。 编译/执行 C++ 程序 #include <iostream> using namespace std; int main() { cout << "Hello World"; return 0; }

C++ 标准库

C++ 标准库 C++ 标准库可以分为两部分: 标准函数库: 这个库是由通用的、独立的、不属于任何类的函数组成的。函数库继承自 C 语言。 面向对象类库: 这个库是类及其相关函数的集合。 C++ 标准库包含了所有的 C 标准库,为了支持类型安全,做了一定的添加和修改。 标准函数库 标准函数库分为以下几类: 输入/输出 I/O 字符串和字符处理 数学 时间、日期和本地化 动态分配 其他 宽字符函数 面向对象类库 标准的 C++ 面向对象类库定义了大量支持一些常见操作的类,比如输入/输出 I/O、字符串处理、数值处理。面向对象类库包含以下内容: 标准的 C++ I/O 类 String 类 数值类 STL 容器类 STL 算法 STL 函数对象 STL 迭代器 STL 分配器 本地化库 异常处理类 杂项支持库

C++ 指向指针的指针(多级间接寻址)-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 指向指针的指针(多级间接寻址)

C++ 指向指针的指针(多级间接寻址) C++ 指针 指向指针的指针是一种多级间接寻址的形式,或者说是一个指针链。通常,一个指针包含一个变量的地址。当我们定义一个指向指针的指针时,第一个指针包含了第二个指针的地址,第二个指针指向包含实际值的位置。 一个指向指针的指针变量必须如下声明,即在变量名前放置两个星号。例如,下面声明了一个指向 int 类型指针的指针: int **var; 当一个目标值被一个指针间接指向到另一个指针时,访问这个值需要使用两个星号运算符,如下面实例所示: #include <iostream> using namespace std; int main () { int var; int *ptr; int **pptr; var = 3000; // 获取 var 的地址 ptr = &var; // 使用运算符 & 获取 ptr 的地址 pptr = &ptr; // 使用 pptr 获取值 cout << "Value of var :" << var << endl; cout << "Value available at *ptr :" << *ptr << endl; cout << "Value available at **pptr :" << **pptr << endl; return 0; } 当上面的代码被编译和执行时,它会产生下列结果: Value of var = 3000 Value available at *ptr = 3000 Value available at **pptr = 3000 C++ 指针

C++ 多维数组-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 多维数组

C++ 多维数组 C++ 数组 C++ 支持多维数组。多维数组声明的一般形式如下: type name[size1][size2]...[sizeN]; 例如,下面的声明创建了一个三维 5 . 10 . 4 整型数组: int threedim[5][10][4]; 二维数组 多维数组最简单的形式是二维数组。一个二维数组,在本质上,是一个一维数组的列表。声明一个 x 行 y 列的二维整型数组,形式如下: type arrayName [ x ][ y ]; 其中,type 可以是任意有效的 C++ 数据类型,arrayName 是一个有效的 C++ 标识符。 一个二维数组可以被认为是一个带有 x 行和 y 列的表格。下面是一个二维数组,包含 3 行和 4 列: 因此,数组中的每个元素是使用形式为 a[ i , j ] 的元素名称来标识的,其中 a 是数组名称,i 和 j 是唯一标识 a 中每个元素的下标。 初始化二维数组 多维数组可以通过在括号内为每行指定值来进行初始化。下面是一个带有 3 行 4 列的数组。 int a[3][4] = { {0, 1, 2, 3} , /* 初始化索引号为 0 的行 */ {4, 5, 6, 7} , /* 初始化索引号为 1 的行 */ {8, 9, 10, 11} /* 初始化索引号为 2 的行 */ }; 内部嵌套的括号是可选的,下面的初始化与上面是等同的: int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11}; 访问二维数组元素 二维数组中的元素是通过使用下标(即数组的行索引和列索引)来访问的。例如: int val = a[2][3]; 上面的语句将获取数组中第 3 行第 4 个元素。您可以通过上面的示意图来进行验证。让我们来看看下面的程序,我们将使用嵌套循环来处理二维数组: #include <iostream> using namespace...

C++ switch 语句-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ switch 语句

C++ switch 语句 C++ 判断 一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。 语法 C++ 中 switch 语句的语法: switch(expression){ case constant-expression : statement(s); break; // 可选的 case constant-expression : statement(s); break; // 可选的 // 您可以有任意数量的 case 语句 default : // 可选的 statement(s); } switch 语句必须遵循下面的规则: switch 语句中的 expression 必须是一个整型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举类型。 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。 case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。 流程图 实例 #include <iostream> using namespace std; int main () { // 局部变量声明 char grade =...

C++ if…else 语句-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ if…else 语句

C++ if…else 语句 C++ 判断 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。 语法 C++ 中 if…else 语句的语法: if(boolean_expression) { // 如果布尔表达式为真将执行的语句 } else { // 如果布尔表达式为假将执行的语句 } 如果布尔表达式为 true,则执行 if 块内的代码。如果布尔表达式为 false,则执行 else 块内的代码。 流程图 实例 #include <iostream> using namespace std; int main () { // 局部变量声明 int a = 100; // 检查布尔条件 if( a < 20 ) { // 如果条件为真,则输出下面的语句 cout << "a 小于 20" << endl; } else { // 如果条件为假,则输出下面的语句 cout << "a 大于 20" << endl; } cout << "a 的值是 " << a << endl; return 0; } 当上面的代码被编译和执行时,它会产生下列结果: a 大于 20 a 的值是 100 if…else if…else 语句 一个 if 语句后可跟一个可选的 else if…else 语句,这可用于测试多种条件。 当使用 if…else if…else 语句时,以下几点需要注意: 一个 if 后可跟零个或一个 else,else 必须在所有 else if...