初学c++

c with class(类)

c plus plus

大型的软件项目,要使用面向对象的思想编程。但是C语言的语法是面向过程的。

现有面向对象的思想,后有面向对象的语言。

C++实现了面向对象程序设计;

在高级语言当中,处理运行速度是最快的。

C++语言非常灵活,功能非常强大。如果说C语言的优点是指针,那么C++的优点就是性能和类层次结构的设计。

C++非常严谨、精确和数理化,标准定义很细致。

C++语言的语法思路层次分明、相呼应;语法结构是显式的、明确的
C++是基于C语言而产生的,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计。

在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染, namespace 关键字的出现就是针对这种问题的。

#include <stdio.h>
#include <stdlib.h>//这个头文件中包含 rand这个库函数

int rand = 0;//定义的rand这个变量,与库函数中的rand函数重名,所以命名冲突了

int main()
{
	printf("%d\n",rand);
}
//这时如果进行编译,则会报错
//编译报错:error C2365: “rand”: 重定义;以前的定义是“函数”

// 命名冲突问题
// 1、我们自己定义的变量、函数可能跟库里面重名冲突
// 2、进入公司项目组以后,做的项目通常比较大。多人协作,两个同事写的代码,命名冲突。
// C语言没有办法很好的解决这个问题
// CPP提出一个新语法:命名空间--关键字namespace

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字(随自己定义),然后接一对{} 即可,{}中即为命名空间的成员。

#include <stdio.h>
#include <stdlib.h>
//定义了一个叫xnh的命名空间 -- 命名空间定义的是一个:域
namespace xnh
{
	int rand = 0;
}
int main()
{
	printf("%d\n", rand);//访问的是<stdlib.h>中的rand函数,打印的是以十进制打印的该函数地址
	
	printf("%d\n", xnh::rand);//访问的是xnh这个命名空间中的rand变量,打印显示为0
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值