没有合适的资源?快使用搜索试试~ 我知道了~
C++基础经典速成教程
4星 · 超过85%的资源 需积分: 11 12 下载量 180 浏览量
2013-03-20
17:50:06
上传
评论
收藏 451KB PDF 举报
温馨提示
试读
21页
第一章:C++预备知识 第二章:C++简单例题示例 第三章:类和对象 第四章:C++访问控制 第五章:初始化与清除 第六章:函数承载 第七章:默认参数 第八章:内联函数 第九章:引用和拷贝构造函数 第十章:操作符重载 第十一章:new和delete
资源推荐
资源详情
资源评论
C++教程
第一部分 预备知识
第 1 章程序文件
C++源程序分为两类文件。一类文件用于保存程序的声明,称为头文件。另一类文件用
于保存程序的实现,称为源文件。头文件以“.h”为后缀,源文件通常以“.cpp”为后缀(也
有一些系统以“.cc”或“.cxx”为后缀)。
C++编译器在扫描到一条函数调用语句时首先应当知道该函数的原型或定义,函数原型
一般都放在头文件中,函数定义则放在源文件中,当源文件用#include 包含一个头文件的时
候,编译预处理器用头文件的内容取代#include 伪指令。这就是说,头文件的所有内容最终
都会被合并到某一个或某几个源文件中。
1.1 头文件的包含
#include 有两种方式来指定文件:尖括号和双引号。
以尖括号指定文件,如下所示:
#include <header>
用尖括号来指定文件时,预处理器是以特定的方式来寻找文件,一般用来包含开发环境
提供的库头文件,它指示编译预处理器在开发环境设定的搜索路径中查找所需的头文件。这
种设置寻找路径的机制随机器、操作系统、C++实现的不同而不同。
以双引号指定文件,如下所示:
#include “local.h”
用双引号时一般用来包含自己编写的头文件,它通常是从当前工作目录开始寻找,如果
文件没有找到,再到开发环境设定的路径中去查找。
包含 iostream 头文件,要用如下语句:
#include <iostream>
预处理器会找到 iostream 头文件(通常在”include”子目录下)并把它插入头文件所在
的位置。
1.2 标准 C++ include 语句格式
随着 C++的不断演化,不同的编译器厂商选用了不同的文件扩展名。而且,不同的操作
系统对文件名有不同的限制,特别是对文件名长度限制。结果引起了对源代码的可移植性的
限制。为了消除这些差别,标准使用的格式允许文件名长度可以大于众所周知的 8 个字符,
去除了扩展名。例如,代替老式的包含 iostream.h 的语句
#include <iostream.h>
现在可以写成:
#include <iostream>
新的包含格式和老的效果是不一样的:使用.h 的文件是老的、非模板化的版本,而没有.h
的文件是新的模板化的版本。
1.3 名字空间
在 C 语言中,当程序达到一定规模以后,会遇到的一个问题是我们“用完了”函数名
称和标识符。当然并非我们真正用完了所有的函数名和标识符,而是简单的想出一个新名称
就不太容易了。更重要的是,当程序达到一定的规模之后,通常分成许多块,每一块由不同
的人或小组来构造和连接。由于所有的函数名和标识符都在同一个程序里,这就要求所有的
开发人员都必须非常小心,不要碰巧使用了相同的函数名和标识符,导致冲突。
标准的 C++有预防这种冲突的机制:namespace 关键字。库或程序中的每一个 C++定义
集被封装在一个名字空间中,如果其他的定义中有相同的名字,但它们不在同一个名字空间
就不会产生冲突。
可以用一个关键字来声明“我要使用这个名字空间中的声明和定义”。这个关键字是
“using”。所有的标准 C++库都封装在一个名字空间中,即 “std”(代表 standard).
using namespace std;
这意味着打开 std 名字空间,使它的所有名字都可用。有了这条语句,就不用担心特殊
的库组件是在一个名字空间中,因为在使用 using 指令的地方,它使名字空间在整个文件中
都是可用的。
名字空间和前面所述包含头文件的方法之间存在着相互关系。新的头文件的包含命令已
标准化了,老的包含方式里,名字空间不是语言的一部分。所以,对已存在的代码要提供向
后兼容,如果给出
#include <iostream.h>
它相当于
#include <iostream>
using namespace std;
第 2 章、简单的 C++程序的例子
下面给出几个简单的 C++程序的例子
2.1 hello world 程序
//Saying Hello with c++
#include <iostream> //stream declarations
using namespace std;
void main()
{
cout << "Hello, World! I am "
<< 8 << " Today!" << endl;
}
例 1
2.2 读取输入数据
//Converts decimal to octal and hex
#include <iostream>
using namespace std;
void main()
{
int number;
cout << "Enter a decimal number: ";
cin >> number;
cout << "Valu in octal = 0"
<< oct << number << endl;
cout << "Value in hex = 0x"
<< hex << number << endl;
}
例 2
2.3 string 的使用
//Read an entire file into a single string
#include <string>
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
ifstream in("FillString.cpp");
string s, line;
while(getline(in, line))
s += line + "\n";
cout << s;
}
例 3
2.4 vector 的使用
//Creating a vector that holds integers
#include <iostream>
#include <vector>
using namespace std;
void main()
{
vector<int> v;
for(int i = 0; i < 10; i++)
v.push_back(i);
for(i = 0; i < v.size(); i++)
cout << v[i] << ", ";
cout << endl;
for(i = 0; i < v.size(); i++)
v[i] = v[i] * 10; //Assignment
for(i = 0; i < v.size(); i++)
cout << v[i] << ", ";
cout << endl;
}
例 4
第二部分 类
第 3 章 类和对象
C++对 C 的最根本改变就是把函数放进了结构之中,从而产生了 C++类。类将数据和函
数捆绑在一起,其中数据表示类的属性(数据成员),函数表示类的行为,也称为成员函数、
方法或者服务。C++提供了关键字 public、private、protected 用于声明哪些数据和函数是可
以公开访问的、私用的或者受保护(受限访问)的,这样就达到了信息隐藏的目的,即让类
仅仅公开必须让外界知道的内容,而隐藏其他内容。
关于类和对象的定义及使用如下例所示:
#include <iostream>
using namespace std;
class rectangle // 矩形类
{
public:
int m_nlength;
int m_nwidth;
int m_ncgrith;
int m_nsarea;
void m_Set(int x, int y);
void m_Girth(); //求周长
void m_Area(); //求面积
void m_Display(); // 显示周长和面积
};
void rectangle::m_Set(int x, int y)
{
m_nlength = x;
m_nwidth = y;
}
void rectangle::m_Girth()
{
m_ncgrith = 2*(m_nlength + m_nwidth);
}
void rectangle::m_Area()
{
剩余20页未读,继续阅读
资源评论
- 我明明就不配2013-04-12内容太少,重要的内容都没包含在里头。看来速成的东西不靠谱。
- jacky1122014-08-20还可以,学到些皮毛。
- hyyearth2014-02-27还行,至少不是什么都没有。
广隶_yk
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功