初始c++,带你进入面向对象的世界
Posted 程序猿是小贺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初始c++,带你进入面向对象的世界相关的知识,希望对你有一定的参考价值。
1. 什么是C++
C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(objectoriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。
1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。因此:C++是基于C语言而产生的,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计。
C++关键字(C++98)
C++总计63个关键字,C语言32个关键字(谈论这些必须要带上在哪个版本下有多少个,这里以c++98为例)
命名空间
命名空间其实也就是作用域,是用来组织和重用代码的。在C/C++中,使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染。
命名空间定义
namespace 命名空间的名字 {}
- 普通的命名空间
namespace N1 // N1为命名空间的名称
{
// 命名空间中的内容,既可以定义变量,也可以定义函数
int a;
int Add(int m, int n)
{
return m + n;
}
}
- 命名空间可以嵌套
namespace N2
{
int a;
int b;
int Add(int m, int n)
{
return m + n;
}
namespace N3
{
int c;
int d;
int Sub(int m, int n)
{
return m - n;
}
}
}
3.同一个工程中允许存在多个相同名称的命名空间,编译器最后会将其合成同一个命名空间中。
命名空间有三种使用方式:
namespace N
{
int a = 10;
int b = 20;
int Add(int m, int n)
{
return m + n;
}
int Sub(int m, int n)
{
return m - n;
}
}
1.加命名空间名称及作用域限定符
int main()
{
printf("%d\\n", N::a);
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", N::a);
printf("%d\\n", b);
Add(10, 20);
return 0;
}
C++输入&输出
在编写 C++ 程序时,如果需要使用输入输出时,则需要包含头文件iostream,它包含了用于输入输出的对象,例如常见的cin表示标准输入、cout表示标准输出、cerr表示标准错误。
iostream 是 Input Output Stream 的缩写,意思是“输入输出流”。cout 和 cin 都是 C++ 的内置对象,而不是关键字。
#include<iostream>
using namespace std;
int main(){
int x;
float y;
cin>>x>>y;
cout<<"x= "<<x<<endl;
cout<<"y= "<<y<<endl;
return 0;
}
缺省参数(备胎)
缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。
1.半缺省参数必须从右往左依次来给出,不能间隔着给
2.缺省参数不能在函数声明和定义中同时出现
3.缺省值必须是常量或者全局变量
以上是关于初始c++,带你进入面向对象的世界的主要内容,如果未能解决你的问题,请参考以下文章
带你进入HTML的世界!(初始HTML和网页基本标签)含代码