//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()和其他这些函数的函数放在第三个文件中.
原文链接: https://www.cnblogs.com/hnrainll/archive/2012/04/27/2474215.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/48669
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!