针对C程序员的C++.doc

针对C程序员的C++.doc

ID:49696276

大小:36.00 KB

页数:3页

时间:2020-03-02

针对C程序员的C++.doc_第1页
针对C程序员的C++.doc_第2页
针对C程序员的C++.doc_第3页
资源描述:

《针对C程序员的C++.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、针对C程序员的TopCoderC++C++是在C语言基础上添加面向对象扩展而成。C++在提供很多传统C语言没有的优点的同时也保持了与C语言的兼容性,这样人们就可以在一个程序中同时使用C和C++。在比赛当中,您必须使用一些基本的C++功能来解答问题。下面我们对熟悉C语言的程序员简单介绍一些参加比赛必须知道的C++知识。类和方法C++中最重要的新添加概念就是类。类可以包含方法和变量。在比赛时,您必须编写一个包含至少一个方法的类。做为一个例子,请看下面的问题定义:类:CellTower方法:best参数:vector,int,i

2、nt返回:int方法签名:intbest(vector<:string>towers,intx,inty)解答这个问题您需要创建一个名为CellTower的类。这个类必须含有一个名为best的方法。方法best必须有三个参数(vector,int,andint)并且返回一个整型(int)值。类是用class关键字定义的。定义类和定义一个C结构在语法结构上类似。要定义上面那个题目所要求的类,可以使用下面的代码:classCellTower{public:intbest(vectortowers,intx,in

3、ty){//您的代码}};方法的定义方式和定义一个C函数相似。关键字public告诉编译器我们定义的方法任何对象都可以调用。只有这样测试程序才能正确运行您的代码。STL很多在比赛中经常被使用的类和函数都来自于标准模板库,通常英文缩写为STL。STL提供了一套通用的库,其中包含了从基本的字符处理到复杂的排序算法等各种工具。参加比赛您必须熟悉至少两个类:vector和string。包含(Includes)在您使用STL中的类之前,您必须在代码中包含相应的头文件。vector类来自于头文件“vector”;string类来自于“string”。

4、您还需要在代码中加上如下一行:usingnamespacestd;这行告诉编译器到std名字空间中去寻找类。Vectorvector是C++中用来取代C数组的。vector解决了传统C语言数组的许多问题。vector能查询当前数组大小以及动态调整大小。用vector<类型>可以声明vector,其中类型是存储在vector中的变量类型。比如如果您想创建一个包含int的vector,可以使用:vectormyVar;新创建的vector大小为0。声明一个其它大小的vector,您可以使用:vectormyVar(10);

5、在这个例子中新创建的vector大小为10。要设置或者读取vector中某一项,您可以使用和C语言中处理数组相似的语法:vectormyVar(10);myVar[0]=1;//设置在位置0的项为1printf("%i",myVar[0]);//输出1C语言数组有一个重大缺陷是程序运行时无法知道数组到底有多大。这给循环读取数组中的每一项造成了困难。如果使用vector,这个任务就变得非常容易。size()方法返回vector的当前大小:for(inti=0;i

6、r[i]);//输出第i项}使用resize方法可以重新调整vector的大小:myVar.resize(15);//myvar的大小变成了15vector类提供了其它很多很有用的功能,点击下面的参考链接了解更多关于vector的知识。字符串(string)string类是用来代替char*表达字符串的。string提供了基本的字符处理并且提供了一个方法让很多使用char*的函数仍旧可以使用string。您可以使用=和+操作符赋值给string:strings;s="Hello";s=s+",world";s一开始是空字符串(大小为0)。

7、在第二行s的值变为“Hello”。然后“,world”被添加到了s的末端,s的值变成了“Hello,world”。方法size()返回字符串的长度。这些代码:strings="Hello";printf("%i",s.size());将会输出5。您可以象访问char数组一样访问string中的某一个字符:strings="Hello";printf("%c",s[0]);//输出"H"s[0]='h';//s变成了"hello"如果一个函数要求char*参数,可以使用c_str()方法:strings="Hello";printf("%s

8、",s.c_str());//输出"Hello"解答实例请看下面的例题:我们的输入程序将记录键盘输入到一个字符序列中。我们想把输入字符序列转换到一个单独的string中以便于日后使用。创建一个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。