zoukankan      html  css  js  c++  java
  • C++ namespace的用法

    //namesp.h 

    namespace pers{ 
        const int LEN = 40;     struct Person{         char fname[LEN];         char lname[LEN];     }; 
        void getPerson(Person &); 
        void showPerson(const Person &); }  
    namespace debts{ 
        using namespace pers;     struct Debt{         Person name;         double amount;     }; 
        void getDebt(Debt &); 
        void showDebt(const Debt &); 
        double sumDebts(const Debt ar[], int n); } 
     
      
    第二个文件: 
     
    //namesp.cpp 
    #include <iostream>#include "namesp.h"  
    namespace pers{     using std::cout;     using std::cin; 
        void getPerson(Person &rp){         cout<<"Enter first name: ";         cin>>rp.fname; 
            cout<<"Enter last name: ";         cin>>rp.lname;     }      
        void showPerson(const Person &rp){ 

            cout<<rp.lname<<", "<< rp.fname;     } }   
    namespace debts{     using std::cout;     using std::cin;     using std::endl;      
        void getDebt(Debt & rd){         getPerson(rd.name);         cout<< "Enter debt: ";         cin>>rd.amount;     }      
        void showDebt(const Debt &rd){         showPerson(rd.name); 
            cout<<": $"<<rd.amount<<endl;     }      
        double sumDebts(const Debt ar[], int n){         double total  = 0; 
            for(int i = 0; i < n; i++){             total += ar[i].amount;         }          
            return total;     } } 
     
    第三个文件: 
     
    //namessp.cpp 
    #include <iostream>#include "namesp.h"  
    void other (void); void another(void);  
    int main(void) { 
        using debts::Debt;     using debts::showDebt; 

        Debt golf = { {"Benny","Goatsniff"},120.0};     showDebt(golf);     other();     another();      
        return 0; }   
    void other(void) { 
        using std::cout;     using std::endl;      
        using namespace debts; 
        Person dg = {"Doodle", "Glister"};     showPerson(dg);     cout<<endl;     Debt zippy[3];     int i;      
        for(i = 0; i < 3; i++){         getDebt(zippy[i]);     }      
        for(i = 0; i < 3; i++){         showDebt(zippy[i]);     }      
        cout<<"Total  debt: $" <<sumDebts(zippy,3)<<endl;     return; }  
    void another(void){     using pers::Person;      
        Person collector = {"Milo", "Rightshift"};     pers::showPerson(collector);     std::cout<<std::endl; } 
     
      
    C++鼓励程序员在开发程序时使用多个文件.一种有效的组织策略是,使用头文件来定义用户类型,为操纵用户类型 的函数 提供函数原型;并将函数 定义放在一个独立的源代码当中.头文件和源代码文件一起定义和实现了用户定义的类型 及其使用方式.最后,将main()和其他这些函数的函数放在第三个文件中. 

  • 相关阅读:
    Python os模块介绍
    (转) JAVA中如何设置图片(图标)自适应Jlable等组件的大小
    (转)统计学习-2 感知机知识准备(模型类型、超平面与梯度下降法)
    详细讲述MySQL中的子查询操作 (来自脚本之家)
    (转)详解数据库的自然连接
    MySQL 数据类型 详解
    MySql详解(四)
    MySql详解(五)
    MySql详解(七)
    MySql详解(一)
  • 原文地址:https://www.cnblogs.com/kobe8/p/3984953.html
Copyright © 2011-2022 走看看