一、C++简介
本贾尼·斯特劳斯特鲁普,于1979年4月在贝尔实验室负责分析UNIX系统的内核的流量情况,于1979年10月开始着手开发一种新的编程语言,
在C语言的基础上增加了面向对象机制,这就是C++的来历,在1983年完成了C++的第一个版本
C++与C的重要区别:
1、C++完全兼容C的所有内容
2、C++支持面向对象的编程思想和机制
3、C++支持运算符重载、函数重载等编译时多态机制
4、C++支持泛型编程、模板机制
5、C++支持异常处理
6、C++的类型检查更严格
注意:学习C++的重点是学习面向对象这种编程思想,而不是花里胡哨的语法
二、C++的第一个程序
#include <iostream>
using namespace std;
int main(int argc,const char* argv[])
{
cout << "Hello Would!" << endl;
return 0
}
1、文件的扩展名由 .c 变成.cpp .cc .C .cxx
2、编译器由gcc变成g++、但gcc也可以继续编译c++文件,需要增加参数 -xC++ -lstdc++
3、C++的标准库头文件不带.h iostream 意为in out stream 在C++中输入、输出被封装流操作,C语言中的头文件还可以继续使用,
但是建议在C标准头文件前加 c 并去掉 .h , 因为这样的头文件中删除了大量不使用的宏,并重新添加到名字空间中,防止在C++中命名
冲突
4、输入输出
cout 用于输出
cin 用于输入
不再需要占位符,会自动识别数据类型
printf/scanf 是C语言标准库函数
cout/cin 是C++标准库中类对象
endl 负责换行
5、增加了名字空间机制,是C++为了解决命名冲突而发明的一项机制
三、C++与C数据类型的不同点
1、结构的不同
a、不再需要 typedef 关键字进行省略 struct ,只需在设计好结构后, 定义结构变量时不再需要struct关键字
b、结构中的结构成员可以是成员变量还可以是成员函数,结构变量、结构指针分别使用 . 或 -> 访问成员函数,在成员函数中可以直接
访问本结构的其他成员变量、成员函数、不再需要 . ->
c、结构中有一些隐藏的成员函数(构造、析构、拷贝构造、赋值函数)
d、可以给结构成员设置访问属性
public 公开的 (默认)
protected 保护的
private 私有的
e、结构是