初始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 命名空间的名字 {}

  1. 普通的命名空间
namespace N1 // N1为命名空间的名称
{
	// 命名空间中的内容,既可以定义变量,也可以定义函数
	int a;
	int Add(int m, int n)
	{
		return m + n;
	}
}
  1. 命名空间可以嵌套
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和网页基本标签)含代码

进一步走进C++面向对象的世界

C++作为面向对象语言的三个基本特征:封装,继承和————

程序大牛由浅入深,带你学习面向对象编程

用代码带你“深入”理解90%的初学者都没理解清楚的Java基础知识——面向对象基础

进一步走进C++面向对象的世界