首页 > 代码库 > C++(一)——HelloWorld
C++(一)——HelloWorld
之前学C,学Python,学的比较多的是Java,作为大家口中更强大的C++,要学学,这次的话,以了解基本的特性和做个小游戏作为目标吧。
1)HelloWorld
Eclipse运行C++之Launch failed,Binary not found
被这个问题困扰了一段时间,还是顺利运行了,第一次用C++写Helloworld。
#include <iostream> using namespace std; int main() { cout << "Hello World!" << endl; return 0; }不用IDE时在命令行窗口的指令:F:\>g++ Hello.cpp -o Hello
编译完之后便会有Hello.exe文件。
照样,用新语言写出第一个程序的那种激动。怎么说,Java的设计也是参考C++的。听过学完C++学Java很快的,倒是不知道学了Java之后来看C++要多久。看的是《C++程序设计语言》——C++之父——本贾尼·斯特劳斯特卢普。
2)傻瓜问题
VC++和C++
之前没去了解,原来VC++是C++的一个编译环境,提供了Windows界面的库函数,便于开发图形界面的软件。VC++的重点主要是Windows程序设计相关的,但是学好C++是前提。
学C++之前一定要学C吗?
作者在学习之前就提出,注重概念,不要迷失在语言的技术细节上。其实有人确实在抱怨说大学一来就学C++,C都没学。其实不然,直接可以学。
为什么叫C++?
C++,++是增量运算符,C+d的话就是语法错误,为什么不叫D呢,因为是C的扩充。其实一门语言设计完之后有多人用之后便会成为一种趋势,王垠自己设计了YIN语言,感觉好厉害了。
给C语言学习者的建议
1、C++几乎不需要宏
# define PI 3.14上面就是宏,将程序中的PI全部替换为3.14。
2、不用在你需要变量之前声明它,以前写C麻烦的地方就是变量声明放在后面也会编译出错。
3、不用malloc,new照样可以做好。
3)总体
C++是更好的C,支持面向对象。
C++有的基本类型,int,double,char,bool(不是boolean)。运算符加减乘除,%求余。
检测循环和输入输出。
#include <iostream> using namespace std; int main() { cout << "Do you love her?\n"; char answer = 0; cin >> answer; cout << answer; return 0; } result: Do you love her? y yC++的输入输出好简单,cout << 和 cin >> ,其实是c out,c in。
cin >> answer; 将输入赋值给answer。
检测循环,if、else、switch、case、for和while。
指针和数组,见到指针不要怕。
int array[10]; //10个整型数组
int *point; // 指向int的指针
point = &array[2]; //point指向array第三个元素
数组就像10个房间,指针就是每个房间的钥匙,&取地址符,可以将一个房间的钥匙给point。
模块化程序设计
namespace Stack{ void push(char c); char pop(); } void test(){ Stack::push('a'); Stack::pop(); }独立的命名空间。Stack::为限定词,指push方法为Stack的push方法,不会与其他push方法互相干扰。
异常处理,有点意思:
namespace Stack { void push(char c); char pop(); class OverFlow {}; } void f() { throw OverFlow(); } void d(){ try{ Stack::push("a"); } catch(Stack::OverFlow) { // } }
定义类型的模块、用户定义类型这两个具体要再看,光光看概述看不是很懂。
虚函数,编程思想一书中有提到的东西。
面向对象的程序设计,也是有类class,也有继承这东西。
容器,原来template,模板是在这里出现的。
内容很多,有一些和Java类似,因为Java本来设计就参考了C++了。
最后作者给的忠告很有意思:
不是学好所有细节才能设计出好的程序,一切随着时间的推移而明朗,当然这段时间你要不听学习,不然不懂还是不懂,关注程序设计而不是语言特征。
C++(一)——HelloWorld