【C++02】教程文章相关的互联网学习教程文章

C++标准模板库STL【代码】【图】

1、C++中有两个方面体现重用:(1)面向对象的思想:继承和多态,标准类库。(2)泛型程序设计(generic programming) 的思想: 模板机制,以及标准模板库 STL。将一些常用的数据结构(比如链表,数组,二叉树)和算法(比如排序,查找)写成模板,标准模板库 (Standard Template Library) 就是一些常用数据结构和算法的模板的集合。2、概念容器:可容纳各种数据类型的通用数据结构,是类模板。迭代器:可用于一次存取容器中元素,类...

第52课 C++中的抽象类和接口【代码】【图】

1. 什么是抽象类(1)面向对象中的抽象概念 思考:抽象图形中,图形的面积如何计算?(2)现实中:需要知道具体的图形类型,才能求面积。(3)Shape只是一个概念上的类型,没有具体对象2. 面向对象中的抽象类(1)可用于表示现实世界中的抽象概念(2)是一种只能定义类型,而不能产生对象的类(3)只能被继承并重写相关函数(4)直接特征是相关函数没有完整的实现3. 抽象类与纯虚函数(1)C++语言中没有抽象类的概念,它是通过纯虚...

玩转C++运算符重载

bochs调试的有些命令根据版本好像有变化,我在ubuntu下安装了bochs-2.4.6,发现和bochs-2.3.6命令出现区别,在2.3。6版本支持dump_cpu、info r等命令,在我安装的2.4.6版本中不支持这两个命令,后面在使用bochs的过程中会陆续总结一些2.4.6支持的命令,最简单的方法是通过help来获取,下面先记录一些常用的:r 查看通用寄存器sreg 查看段寄存器(IDTR被归到这里)creg 查看系统寄存器(CR0等)x 查看内存(线性地址)xp 查看内存(物理...

Name Mangling and extern “C” in C++【代码】

原文链接:http://www.geeksforgeeks.org/extern-c-in-c/C++ supports function overloading, i.e., there can be more than one functions with same name and differences in parameters. How does C++ compiler distinguishes between different functions when it generates object code – it changes names by adding information about arguments. This technique of adding additional information to function names is c...

c++ 库函数cmath

cmath中常用库函数:int abs(int i);//返回整型参数i的绝对值double fabs(double x);//返回双精度参数x的绝对值long labs(long n);//返回长整型参数n的绝对值double exp(double x);//返回指数函数e^x的值double log(double x);//返回logex的值,如果要求其他的,利用换底公式计算 double log10(double x) 返回log10x的值double pow(double x,double y) 返回x^y的值double pow10(int p) 返回10^p的值double sqrt(double x) 返回+√x...

软件工程随堂小作业——随机四则运算(C++)【图】

一、设计思路: 1.程序的主体部分是循环输出,次数即题目数目由用户输入; 2.三个整型变量+rand函数来实现随机数四则运算,一个变量代表加减乘除,另外两个用作运算数; 3.用户体验:题目分三列,排列整洁间距适中,并且不会显示除数为0的情况。 由于一个寒假没怎么接触编程,对我来说最大的困难就是不清楚rand函数的用法以及其所在的头文件。基本功能实现之后,我又调整了一下页面。添加了srand((unsigned)time(NULL)); 。因...

《C++编程思想》(第二版)第2章 C++中的C(笔记、习题及答案)(二)【图】

<span style="font-size:18px;"><span style="font-size:18px;">#include <iostream> #include <string> using namespace std;void stringRef(string& s) {s += " come blow"; }void stringPtr(string* p) {p->append(" your horn"); }int main() {string s = "Little Boy Blue";stringRef(s);stringPtr(&s);cout << s << endl; }</span></span><span style="font-size:18px;"><span style="font-size:18px;">#include <iostrea...

C++ Win32控制台应用程序捕捉关闭事件

#include#includebool ctrlhandler( DWORD fdwctrltype ){ switch( fdwctrltype ) { // handle the ctrl-c signal. case CTRL_C_EVENT: printf( "ctrl-c event\n\n" ); return( true ); // ctrl-close: confirm that the user wants to exit. case CTRL_CLOSE_EVENT: printf( "ctrl-close event\n\n" ); return( true ); // pass other signals to the next handler. case CT...

C++ 连接Oracle

下面是一个ADO方式连接Oracle的小程序部分代码......首先是Oracle的配置、在Oracle的安装路径下找到:Oracle\network\ADMIN\tnsnames.ora文件、配置一下连接配置 [plain] view plain copyBOSS = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = boss) ) ) 新建一个头文件、名为CDBOperation.h: [cp...

【转】C++11 标准新特性:Defaulted 和 Deleted 函数【代码】

原文链接http://www.ibm.com/developerworks/cn/aix/library/1212_lufang_c11new/本文将介绍 C++11 标准的两个新特性:defaulted 和 deleted 函数。对于 defaulted 函数,编译器会为其自动生成默认的函数定义体,从而获得更高的代码执行效率,也可免除程序员手动定义该函数的工作量。对于 deleted 函数, 编译器会对其禁用,从而避免某些非法的函数调用或者类型转换,从而提高代码的安全性。本文将通过代码示例详细阐述 defaulted ...

c++实验3类和对象【代码】【图】

实 验 3:part 1:验证 part 2:graph#include <iostream> #include "graph.h"usingnamespace std;int main() {Graph graph1(‘*‘,5);graph1.draw();system("pause");system("cls");Graph graph2(‘$‘,7);graph2.draw();system("pause");return0; } main.cpp// 类graph的实现 #include "graph.h" #include <iostream> usingnamespace std;// 带参数的构造函数的实现 Graph::Graph(char ch, int n): symbol(ch), size(n) { }//...

C++成员权限控制(总结)【代码】

1) 前言在我学习C++的过程中,类中成员的权限控制一直是比较头疼的一个点,一会public,一会又private,还有protected,再加点继承,而且又有公有继承、私有继承,保护继承,所以感觉会比较乱。后来不断学习过程中,慢慢理顺了它们的关系,稍微分类总结一下,在这个问题上基本上就没再栽过跟头。如有笔误,希望大神指点一下! 2 )C++的水平权限控制首先解释几个特定词,下面要用到:水平权限:在一个类中,成员的权限控制,就是类...

C++中头文件与源文件的作用详解【代码】

一、C++ 编译模式通常,在一个 C++ 程序中,只包含两类文件―― .cpp 文件和 .h 文件。其中,.cpp 文件被称作 C++ 源文件,里面放的都是 C++ 的源代码;而 .h 文件则被称作 C++ 头文件,里面放的也是 C++ 的源代码。C++ 语言支持"分别编译"(separatecompilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的 .cpp 文件里。.cpp 文件里的东西都是相对独立的,在编译(compile)时不需要与其他文件互通,只需...

c++之你真的了解vector的erase吗(网上大多都是错的)【代码】【图】

以下针对vector容器,编译环境为linux qt 4.7篇幅较长,耐心看完,有错误欢迎指出erase的定义删除容器内元素erase的使用先来看一下常用的写法 第一种 #include <iostream> #include <vector> using namespace std;int main() {vector<int> test{1,2,3};for(vector<int>::iterator test_iterator = test.begin(); test_iterator != test.end(); test_iterator++){if(*test_iterator == 2) {test.erase(test_iterator);}}for(vecto...

转 值得推荐的C/C++框架和库

值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz210552/webbench.html- 2. Tinyhttpdtinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代...