探索c++——了解c++的魅力

小明 2025-04-29 05:47:24 5

前言:c++���一门既面向对象又面向过程的语言。 不同于java纯粹的面向对象和c纯粹的面向过程。 造成c++该特性的原因是c++是由本贾尼大佬在c的基础上增添语法创建出来的一门新的语言。 它既兼容了c, 身具面向过程的特性。 又有本身的面向对象的特性。 

面向对象和面向过程的区别:

我们可以以将大象关进冰箱为例子。 如果是c语言的话。它只会关注将大象关进冰箱的过程——打开冰箱门, 将大象关进冰箱, 关闭冰箱。但如果是c++的话,它会关注解决这个问题的对象——人, 大象, 冰箱。 

然后c语言的函数解决的就是每一步骤如何做才能将大象装进行冰箱。c++的函数就是定义在对象的类里作为成员函数,作为这个对象解决问题的手段, 方法。

目录

命名空间

域操作符

展开命名空间

c++的输入和输出

缺省参数

 函数重载

引用

内联函数

空指针nullptr


命名空间

命名空间解决的是变量重命名的问题。 在c语言中,当我们向定义一个变量, 这个变量的变量名和库中的函数或者其他重复了。

#include
int main()
{
    int rand;//这时会和stdlib.h中的rand生成随机数函数重复。 c语言除了将变量名改掉没有办法。
    return 0;
}

 可能这个问题你认为只要改一下变量名就好了。但是如果是在公司之中。 那个时候许多人共同开发一个程序。 不可避免地会有变量名重复的问题。 如果事先商量好说“谁谁谁这么取名, 谁谁谁那么取名。”或者说如果两个人定义的变量名冲突后就商议一下谁改掉谁的程序中所有的这个变量的变量名。 这个就太烦了。 所以本贾尼大佬针对这个问题就创建出来了命名空间, 有效的解决了这个问题。 

域操作符

namespace name
{
	int A() 
	{
		return 1;
	}
}
int main() 
{
	int A = 0;//因为A函数是在命名空间name中定义的。 所以函数A不会和这里的变量A重命名。
	cout 
The End
微信