C++命名空间使用代码

namesp.h

 1 #pragma once
 2 #include <string>
 3
 4 namespace pers
 5 {
 6     using namespace std;
 7     struct Person
 8     {
 9         string fname;
10         string lname;
11     };
12     void getPerson(Person &);
13     void showPerson(const Person &);
14 }
15
16 namespace debts
17 {
18     using namespace pers;
19     struct  Debt
20     {
21         Person name;
22         double amount;
23     };
24     void getDebt(Debt &);
25     void showDebt(const Debt &);
26     double sumDebts(const Debt ar[], int n);
27 }

namesp.cpp

 1 #include "namesp.h"
 2 #include <iostream>
 3
 4 using namespace std;
 5
 6 void pers::getPerson(Person & rp)
 7 {
 8     cout << "Enter first name: ";
 9     cin >> rp.fname;
10     cout << "Enter last name: ";
11     cin >> rp.lname;
12 }
13
14 void pers::showPerson(const Person & rp)
15 {
16     cout << rp.fname << ", " << rp.lname;
17 }
18
19 void debts::getDebt(Debt & rd)
20 {
21     getPerson(rd.name);
22     cout << "Enter debt: ";
23     cin >> rd.amount;
24 }
25
26 void debts::showDebt(const Debt & rd)
27 {
28     showPerson(rd.name);
29     cout << ": $" << rd.amount << endl;
30 }
31
32 double debts::sumDebts(const Debt ar[], int n)
33 {
34     double total = 0;
35     for (int i = 0; i < n; i++)
36     {
37         total += ar[i].amount;
38     }
39     return total;
40 }

namessp.cpp

 1 #include <iostream>
 2 #include "namesp.h"
 3
 4 void other(void);
 5 void another(void);
 6
 7 int main()
 8 {
 9     using debts::Debt;
10     using debts::showDebt;
11
12     Debt golf = { {"Benny","Goatsniff"},120.0 };
13     showDebt(golf);
14     other();
15     another();
16
17     std::cin.get();
18     return 0;
19 }
20
21 void other(void)
22 {
23     using namespace std;
24     using namespace debts;
25
26     Person dg = { "Doodles","Glister" };
27     showPerson(dg);
28     cout << endl;
29
30     Debt zippy[3];
31     int i;
32     for (int i = 0; i < 3; i++)
33     {
34         getDebt(zippy[i]);
35     }
36     for (i = 0; i < 3; i++)
37     {
38         showDebt(zippy[i]);
39     }
40     cout << "Total debt: $" << sumDebts(zippy, 3) << endl;
41     return;
42 }
43
44 void another(void)
45 {
46     using pers::Person;
47     Person collector = { "Milo","Rightshift" };
48     pers::showPerson(collector);
49     std::cout << std::endl;
50 }
时间: 2025-01-06 03:35:18

C++命名空间使用代码的相关文章

于XAML导入命名空间的代码

例如,下面的代码到指定的命名空间.不仅导入的命名空间,并且还为指定的命名空间前缀local.当然,你也可以指定一个前缀为另一个名称,这可以定义.导入后,市民可以在命名当前空间XAML使用代码.例如,在演示样品TimeButton这个类,事实上,它是从继承button控件类. <Window x:Class="Demo002.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentati

php命名空间与可变函数

命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只要避免命名重复就可以解决 对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀. 例:项目中有两个模块:article和message board,它们各自有一个处理用户留

Namespacing in PHP (php 中使用命名空间)

最近学习一下php的命名空间,中文文档不多,搜到一篇英文的,讲的还蛮系统的,特此翻译一下,以备以后查阅,大家有什么高见或更深刻或者 更悟透的见解希望能不吝赐教,晚辈感激不尽. 原文: http://code.tutsplus.com/tutorials/namespacing-in-php--net-27203 关于PHP对命名空间的支持,这走过了一段崎岖的历程.感谢的是,从PHP5.3起,加入了对命名空间.php的代码结构也因此提升了了许多.但是,我们究竟该怎样使用命名空间呢? 一.什么是命名

14.C#属性访问器、命名空间、pragma指令(七章7.3-7.5)

看到一些零星的知识片,今天就用自己的理解说明下,也是因为太简单了,一下就过的,也是我们日常开发中常用.留下一个脚印,当书不在手上的,也能翻出来看看.说下属性访问器.命名空间和pragma指令. 属性访问器在01.C#数据类型.排序.过滤(一章1.1-1.2)有所提到,在C#3后可以使用修饰符去修饰属性的取值和赋值,也可以使用加入一些验证,如下: 1 class Plant 2 { 3 private double Height = 0.0; 4 5 //是否需要修剪 6 public bool

Clojure命名空间

版本 本文翻译自Clojure Namespaces and Vars 本文涵盖如下内容: + Clojure命名空间和var概述 + 如何定义命名空间 + 如何使用其它命名空间里的函数 + require,refer和use + 常见错误和典型错误,以及导致这些错误的原因 + 命名空间和代码管理 版权: This work is licensed under a Creative Commons Attribution 3.0 Unported License (including image

面向对象的JavaScript(一)命名空间

在小项目中对于JavaScript使用,只要写几个function就行了.但在大型项目中,尤其是在开发追求良好的用户体验的网站中,如SNS,就会用到大量的JavaScrpt,有时JavaScript的工作量胜过了C#,这时写一堆function,就会显得很乱,杂乱无章,甚至会出现命名冲突,管理和维护起来都很麻烦.对于这种情况我们就需要使用面向对象的思想来开发JavaScript.那我们就这样作罢: 对于一个项目,首先要有个命名空间.所以我们首先要做的是定义一个函数来注册命名空间.代码如下: //

010.里式转换、命名空间、字段属性、索引器

1.is asis:判断对象和类型的兼容 兼容---true 不兼容---false 子类兼容父类 子类对象 is 父类类型 --true对象 is 类型 (对象为此类型的对象 对象为此类型的子类的对象 --true)public class Person{}public class Student:Person{} Person per=new Person();Student stu=new Student();Person person=new Student();返回true:per i

命名空间的定义

命名空间是一个容器,这个容器主要是为了识别其下的类和函数.一旦定义了命名空间,它下面的代码就属于这个命名空间了,所以命名空间的定义要在代码的最开始行. 对于同一个包来说,同一个命名空间或者子命名空间的代码没有必要在一个 PHP 文件中定义,子命名空间下的代码是为了完成特定模块的工作,组合起来就是一个包完整的命名空间. 假如编写的代码没有定义命名空间,那说明它属于全局的命名空间(\ 符号),所以能够直接引用类或者函数(不用添加 \ 符号).

PHP命名空间(Namespace)初探

探完闭包[查看],再探命名空间. 对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀. 例:项目中有两个模块:article和message board,它们各自有一个处理用户留言的类Comment.之后我可能想要增加对所有用户留言的一些信息统计功能,比如说我想得到所有留言的数量.这时候调用它