命名空间的作用及编程举例

学校的人事部门保存了有关学生的部分数据(学号、姓名、年龄、住址),教务部门也保存了学生的另外一些数据(学号、姓名、性别、成绩),两个部门分别编写了本部门的学生数据管理程序,其中都用了Student作为类名。现在要求在全校的学生数据管理程序中调用这两个部门的学生数据,分别输出两种内容的学生数据。要求用c++编程,使用命名空间。

解:命名空间是用户命名的作用域,用来处理程序中常见的同名冲突。

命名空间::命名空间成员名

程序:

//header1.h

#pragma once

#include <string>

namespace student1

{

class Student

{

public:

Student(int n, string nam, int a,string addr)

{

num = n;

name = nam;

age = a;

address = addr;

}

void show_data();

private:

int num;

string name;

int age;

string address;

};

void Student::show_data()

{

cout << "num:" << num << " name:" << name << " age:" << age << " address:" << address << endl;

}

}

//header2.h

#pragma once

#include <string>

namespace student2

{

class Student

{

public:

Student(int n, string nam, char s, float sco)

{

num = n;

name = nam;

sex = s;

score = sco;

}

void show_data();

private:

int num;

string name;

char sex;

float score;

};

void Student::show_data()

{

cout << "num:" << num << " name:" << name << " sex:" << sex << " score:" << score << endl;

}

}

//main file(主文件)

#include<iostream>

using namespace std;

#include"header1.h"

#include"header2.h"

using namespace student1;

int main()

{

Student stud1(1001, "wang", 18, "123 Beijing Road,Shanghai");

stud1.show_data();

student2::Student stud2(1102, "Li", ‘f‘, 89.5);

stud2.show_data();

system("pause");

return 0;

}

运行结果:

num:1001 name:wang age:18 address:123 Beijing Road,Shanghai

num:1102 name:Li sex:f score:89.5

请按任意键继续. . .

时间: 2024-10-11 23:11:11

命名空间的作用及编程举例的相关文章

XML之命名空间的作用(xmlns)

http://www.w3school.com.cn/xml/xml_namespaces.asp http://blog.csdn.net/zhch152/article/details/8191377 命名空间的作用,下面的内容是转载的,大家可以看看: 问题的出现:XML的元素名字是不固定的,当两个不同的文档使用同样的名称描述两个不同类型的元素的时候,或者一个同样的标记表示两个不同含义的内容的时候,就会发生命名冲突. 问题的解决:命名空间(Namespace),对于每一套特定应用的DTD,给

【转】XML之命名空间的作用(xmlns)

原文链接:http://blog.csdn.net/zhch152/article/details/8191377 命名空间的作用,下面的内容是转载的,大家可以看看: 问题的出现:XML的元素名字是不固定的,当两个不同的文档使用同样的名称描述两个不同类型的元素的时候,或者一个同样的标记表示两个不同含义的内容的时候,就会发生命名冲突. 问题的解决:命名空间(Namespace),对于每一套特定应用的DTD,给它一个独一无二的标志来代表,如果在XML中使用DTD中定义的元素,需将DTD的标志和元素名

ASP.Net各个命名空间及作用

(引用自hungerw的博客) 命名空间 描述 Microsoft.CSharp        支持C#语言编译和生成代码 System                            包含了基础类,用于定义类型/数组/字符串/事件/事件处理程序/异常 处理 /接口/数据类型转换/数学计算/应用程序环境管理等等. System.Coolections       包含了一组用于管理对象集合(例如列表/队列/数组/哈希表/字典等)的类 System.Data                 

c#引用命名空间的作用

System 包含用于定义常用值和引用数据类型.事件和事件处理程序.接口.属性和处理异常的基础类和基类.其他类提供支持下列操作的服务:数据类型转换,方法参数操作,数学计算,远程和本地程序调用,应用程序环境管理以及对托管和非托管应用程序的监管. System.Collections 包含定义各种对象集合(如列表.队列.位数组.哈希表和字典)的接口和类. System.Collections.Generic 包含定义泛型集合的接口和类:泛型集合允许用户创建强类型的集合,这种集合在类型安全和性能上均优

命名空间的作用

来源:https://blog.csdn.net/LF_2016/article/details/51930792 一.为什么使用命名空间 一个大型的工程往往是由若干个人独立完成的,不同的人分别完成不同的部分,最后再组合成一个完整的程序.由于各个头文件是由不同的人设计的,有可能在不同的头文件中用了相同的名字来命名所定义的类或函数,这样在程序中就会出现名字冲突.不仅如此,有可能我们自己定义的名字会与C++库中的名字发生冲突. 名字冲突就是在同一个作用域中有两个或多个同名的实体,为了解决命名冲突 ,

java回收finalize方法的作用(编程思想)

清理:终结处理和垃圾回收 java有垃圾回收期负责回收无用对象占据的内存资源.但也有这种情况:假定你的对象(并非使用new)获得了一块"特殊"的内存区域,由于垃圾回收期只知道释放那些由new分配的内存,所有它不知道该如何释放对象这块"特殊内存".为了应对这种情况,Java允许在类中定义一个名为finalize()的方法.它的工作原理"假定"是这样的: 一旦垃圾回收期准备好释放对象占用的存储空间,将首先调用其finalize()方法,并且在下一次垃

linux服务器开发二(系统编程)--线程相关

线程概念 什么是线程 LWP:Light Weight Process,轻量级的进程,本质仍是进程(在Linux环境下). 进程:独立地址空间,拥有PCB. 线程:也有PCB,但没有独立的地址空间(共享). 进程与线程的区别:在于是否共享地址空间. 独居(进程). 合租(线程). Linux下: 线程:最小的执行单位. 进程:最小分配资源单位,可看成是一个线程的进程. 安装man文档 sudo apt-get install glibc-doc sudo apt-get install manp

PHP中的命名空间

概述 命名空间的作用是解决命名冲突 定义命名空间 虽然任意合法的PHP代码都可以包含在命名空间中,但只有以下类型的代码受命名空间的影响,它们是:类(包括抽象类和traits).接口.函数和常量. 命名空间通过关键字namespace 来声明.如果一个文件中包含命名空间,它必须在其它所有代码之前声明命名空间,除了一个以外:declare关键字. 在声明命名空间之前唯一合法的代码是用于定义源文件编码方式的 declare 语句.另外,所有非 PHP 代码包括空白符都不能出现在命名空间的声明之前 同一

NAND Flash裸板编程

nand flash按照我的理解,在开发板上就类似我们所用的电脑中的硬盘,用来保存系统运行的操作系统,应用程序,数据等,掉电之后还可以永久得保存数据(不包括临时数据).通过控制或配置NAND Flash的控制器寄存器,即可完成对nand的操作:包括读.写.擦除等. 而控制.配置这些寄存器是根据板子的原理图.用户手册以及nand flash芯片手册上的说明来配置的. 通过原理图,可见nand flash与cpu之间的数据传输主要是通过LDDATA0~7这8根引脚线,其中传输的"数据"可以