首页 > 代码库 > 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
y
C++的输入输出好简单,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