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()和其他这些函数的函数放在第三个文件中. 

  • 相关阅读:
    vsftpd用户登陆目录
    Linux下能否用用apache运行ASP.NET的WebService
    rose软件下载(Rational Rose 2003 Enterprise Edition)
    linux删除目录
    2013314 生活日记
    ubuntu12.10安装GTK+
    SqlServer 基础知识数据检索、查询排序
    获取时间段:本周、本月、本年
    二、自定义控件之RadioButtonList
    ext.net 开发学习之FileUploadField与Image (四)
  • 原文地址:https://www.cnblogs.com/kobe8/p/3984953.html
Copyright © 2011-2022 走看看