zoukankan      html  css  js  c++  java
  • c++ namespace名字空间声明方法 -------- (为什么要引入名字空间)

    关于,有了头文件为什么还要引入名字空间? 主要是解决实体如类、变量、函数等的命名冲突问题。在简单的程序设计中,只要人们小心注意,可以争取不发生错误。但是,一个大型的应用软件,往往不是由一个人独立完成的,而是由若干人合作完成的,不同的人分别完成不同的部分,最后组合成一个完整的程序。假如不同的人分别定义了类,放在不同的头文件中,在主文件(包含主函数的文件)需要用这些类时,就用#include命令行将这些头文件包含进来。由于各头文件是由不同的人设计的,有可能在不同的头文件中用了相同的名字来命名所定义的类或函数。 这时程序编译就会出错。

    因为在预编译后,头文件中的内容取代了对应的#include命令行,这样就在同一个程序文件中出现了两个同名的类或者变量或者函数,显然是重复定义,这就是名字冲突,即在同一个作用域中有两个或多个同名的实体。

    在实际写程序时,如何使多个类在同一个名字空间中,其实只要在头文件中声明类或者变量时加上namespace 空间名 { 放类的完整声明},在实现文件中仍然把类的实现放在名字空间中就可以,如namespace 空间名 { 放类的完整实现},每个类都类似处理,只要在每个类的声明和实现中都包含同一个命名空间,那么他们就都在同一个命名空间中了

    例子程序:

    这个程序定义了两个类,每个类都有头文件和实现文件,都分别放在了同一个namespace里了

     

     

    所以以此类推,只要我把新的类的定义都放在该名字空间中,那么他们就都在同一个名字空间了!!!

  • 相关阅读:
    云题库错题分析
    数据库相关子查询
    阻止事件冒泡
    21分钟 MySQL 入门教程(转载!!!)
    java接口
    java访问修饰符
    小游戏,快速击键
    个人对Java中多态的一些简单理解
    简述抽象和封装,对你学习Java有一些作用
    Bank,我只是来完成作业的
  • 原文地址:https://www.cnblogs.com/ruigelwang/p/13267644.html
Copyright © 2011-2022 走看看