面向对象C++入门-Hello,World
来源:互联网 发布:python 高斯拟合 编辑:程序博客网 时间:2024/05/29 04:21
C++简介
在这里我们用最简单的方式阐述一下究竟为什么C++比C语言高级。从功能的角度讲,用C++写的程序C语言也能够实现。那么C++究竟高级在哪儿呢?它就高级在引入了更加人性化的编程方式。
人们常说C是面向过程的语言,而C++在此基础上引入了面向对象(封装、继承、多态)和泛型两种全新的编程方式。而这两种新的编程方式更加接近我们现实中解决问题的思想,因此在编写大型应用程序方面,C++更受欢迎一些。
编程语言高下之争一直是业内一个主要争论话题,多年以来从未停止。随着各种新语言的诞生,参加争论的派系也越来越多。
其实,我们大可不必纠结于语言,所有的语言都是为程序员服务的,解决现实中的问题才是我们最终的目的。所以,语言没有高下之分,只不过是使用语言的人参差不齐而已。
在我们学习C++时,千万不要把它和C语言分割开来,我们要把C++想象成为C语言的一个扩展,所有C语言的东西在这里都能继续使用。
创建C++项目
我们用Visual Studio来创建一个标准的控制台程序工程。创建过程与创建一个C项目类似。与C语言项目的唯一区别是新建文件时要以cpp为后缀名。
第一段C++代码
我们在新创建的main.cpp文件中加入下面这段C++代码:
// main.cpp#include <iostream>using namespace std;int main(){ cout << "Hello World!" << endl; return 0;}
1. 头文件
C++的标准输入输出库不再是stdio.h,而是iostream。需要注意的是这里用的是<>而不是“”。值得注意的是,C++的标准库引用不需要加后缀名。
2. 命名空间
using namespace std;
这句话看着比较陌生。
C++中引入了命名(名字)空间的概念,std就是一个常用的命名(名字)空间。命名空间的作用是不同命名空间下的事物可以有相同的名字,但是带来的成本是指定事物时需要指出名字空间的名字。所以,要使用名字空间std下的事物,或者提前指出名字空间名 using namespace std;
或者直接在事物前指出名字空间名 std::cout << "Hello World!" << std::endl;
“::”这个符号叫做域运算符。
3. 标准输入输出
在C++中,我们用cout和cin进行标准输出输入。它们代替了C中的printf和scanf。具体的用法我们会在使用中慢慢了解。cout、cin、是标准库中定义好了的用于输出输入的对象(变量)名。
4. endl
cout<<后面接endl的话表示输出一个换行。当然我们也可以使用 cout << "Hello World!\n";
或者 cout << "Hello World!" << '\n';
达到输出换行的目的。(endl
除了输出换行,还有清空输出缓冲区的作用,将未输出的内容输出出来。因此使用endl
更显得我们是专业C++程序员:-))
Visual Studio代码调试
代码调试是编程的基本功,既是是作为一个合格的程序员必须掌握的技能,也是编程乐趣所在。
1. 快捷键F6
这个快捷键的作用是编译项目中的全部代码。如果要看看有没有语法错误,就直接按这个键。
PS:如果在安装过程中,VS发现这个快捷键有冲突,也许会自动调整成别的键。在BUILD菜单中能够查看到这个快捷键。
2. 快捷键F5
调试运行代码。如果源代码没有编译,它会先进行编译之后运行。执行过程中,遇到断点会停下来。在VS环境下,如果没有设置断点并调试模式下运行代码,运行结果窗口会一闪而过。这时可以在代码最后添加暂停窗口的语句,这样就可以看到窗口的结果。
// main.cpp#include <iostream>using namespace std;int main(){ cout << "Hello World!" << endl; system("pause"); return 0;}
3. 快捷键F9
增加或删除断点,方便调试。不要问我什么是断点,在C语言学习中你就该知道的。
4. 快捷键F10,F11
这两个快捷键负责单步调试,就是按一下执行一句话。前者遇到函数调用一次执行完,后者遇到函数调用会进入函数内部单步执行。
在调试代码时,这两个键非常有用。
5. 快捷键Ctrl + F5
忽略断点执行。就是不在断点处停下直接执行结束。
现在,我们在VS中使用“Ctrl+F5”运行我们刚才的代码。
学习C++资源
网上有很多C++学习资源,我给大家推荐一个,程序员实验室,可以当作大家复习C和学习C++的基本知识点的参考材料。除了本校的学习平台,网上也有公开课供大家参考学习。
致谢
本文的内容和图片大量参考了简书上文章C++代码训练营 | 鸟枪终于换炮了,在此表示诚挚的谢意!
下一篇:面向对象C++入门-EasyX绘图库
- 面向对象C++入门-Hello,World
- C语言入门之”Hello , World!”
- “Hello World”程序的改进(面向对象的Hello World)
- Andorid入门Hello,World
- Dojo入门Hello World!
- Dojo入门Hello World!
- android入门--hello world
- Android入门-Hello World
- NHibernate入门hello world
- Abap入门:Hello world
- clojure入门: hello world
- qt 入门 Hello world
- Spring入门hello world
- cxf 入门(hello world)
- Swift入门Hello, world
- AAuto入门->hello world !
- clojure入门: hello world
- tornado入门,hello world
- c++ 删除向量中重复的元素
- java--foreach,不是jsp里的foreach
- Android面试题(2)
- IAR数据类型
- arm汇编之 bne与beq
- 面向对象C++入门-Hello,World
- Oracle_PL/SQL-游标
- 1_Configure OpenCV3.2 for VS2013
- SSH三大框架的整合+利用Ajax实现无刷新分页
- 【并发编程】concurrent包的Condition使用详解
- 修改Mysql登录密码
- PAT 1055
- 文章标题
- python灰帽子--安装pydbg遇到的问题