1. C++概述
1.1 c++简介
“c++”中的++来自于c语言中的递增运算符++,该运算符将变量加1。c++起初也叫”c with clsss”.通过名称表明,c++是对C的扩展,因此c++是c语言的超集,这意味着任何有效的c程序都是有效的c++程序。c++程序可以使用已有的c程序库。
为什么c++不叫++c呢?因为它虽然对c进行了改进、扩展,但是很多人还是把它当做c来使用。c++后置++,先对c进行扩展,但返回的还是c. ---笑话 |
库是编程模块的集合,可以在程序中调用它们。库对很多常见的编程问题提供了可靠的解决方法,因此可以节省程序员大量的时间和工作量。 |
c++语言在c语言的基础上添加了面向对象编程和泛型编程的支持。c++继承了c语言高效,简洁,快速和可移植的传统。
c++融合了3种不同的编程方式:
- c语言代表的过程性语言.
- c++在c语言基础上添加的类代表的面向对象语言.
- c++模板支持的泛型编程。
c语言和c++语言的关系:
c++语言是在C语言的基础上,添加了面向对象、模板等现代程序设计语言的特性而发展起来的。两者无论是从语法规则上,还是从运算符的数量和使用上,都非常相似,所以我们常常将这两门语言统称为“C/C++”。 C语言和C++并不是对立的竞争关系: 1)C++是C语言的加强,是一种更好的C语言。 2)C++是以C语言为基础的,并且完全兼容C语言的特性。 c语言和C++语言的学习是可以相互促进。学好C语言,可以为我们将来进一步地学习C++语言打好基础,而C++语言的学习,也会促进我们对于C语言的理解,从而更好地运用C语言。 |
2. 命名空间(学习要求:掌握)
namespace spacename { spacemember1、spacemember2 ......}
例如
//1. 普通的命名空间
namespace N1 // namespace为关键字 N1为空间的名称
{
// 变量a、函数add()为空间成员
int a;
int Add(int left, int right)
{
return left + right;
}
}
//2. 命名空间嵌套定义
namespace N2
{
int a;
int b;
int Add(int left, int right)
{
return left + right;
}
namespace N3 //嵌套定义
{
int c;
int d;
int Sub(int left, int right)
{
return left - right;
}
}
}
//3. 同一个工程中多个相同名称的命名空间,编译器最后会合成同一个命名空间。
namespace N1
{
int a;
int b;
}
namespace N1
{
int Add(int left, int right)
{
return left + right;
}
2.1 命名空间的作用
防止程序中的变量、结构体、函数等命名的冲突。
2.2 命名空间的使用
namespace N
{
int a = 10; //成员1
int b = 20; //成员2
int Add(int left, int right) //成员3
{
return left + right;
}
}
int main()
{
//如何输出命名空间N中的成员?
return 0;
}
1.使用“空间名称+作用域限定符”
int main (){printf ( "%d\n" , N::a ); // ‘N’ — 空间名称、‘::’ — 作用域限定符return 0 ;}
2.使用“using+空间名称+空间成员”释放命名空间中某个成员,释放后该成员可直接使用
using N::b ; //释放某成员int main (){printf ( "%d\n" , N::a );printf ( "%d\n" , b ); //该成员直接使用return 0 ;}
3.使用“using namespace+空间名称”释放整个命名空间,释放后所有成员可直接使用
using namespce N ; //释放整个空间int main (){printf ( "%d\n" , a ); // 所有成员直接使用printf ( "%d\n" , b );Add ( 10 , 20 );return 0 ;}
3. C++输入&输出(学习要求:掌握)
1.输入:
cin >> 123
2.输出:
cout << 123
例如
#include <iostream> //包含输入输出头文件
using namespace std; //释放C++库函数
int main( )
{
int num=0; //定义变量
cout << "请输入内容:";
cin >> num; //给num赋值
cout <<"内容为:"<< num<< endl; //endl为换行
}
运行结果如下:
请输入内容:123
内容为: 123