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?
";
	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++了。


最后作者给的忠告非常有意思:

不是学好全部细节才干设计出好的程序,一切随着时间的推移而明朗,当然这段时间你要不听学习。不然不懂还是不懂。关注程序设计而不是语言特征。


原文地址:https://www.cnblogs.com/yjbjingcha/p/6781271.html