本文共 1805 字,大约阅读时间需要 6 分钟。
示例代码:
namesp.h
#includenamespace pers{ struct Person{ std::string fname; std::string lname; }; 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#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) { std::cout << rp.lname << ", " << rp.fname; }}namespace debts{ void getDebt(Debt& rd) { getPerson(rd.name); std::cout << "Enter debt: "; std::cin >> rd.amount; } void showDebt(const Debt & rd) { showPerson(rd.name); std::cout << ": $" << rd.amount << std::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#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 = {"Doodles", "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;}
执行结果:
最后 总结:
转载地址:http://rjepi.baihongyu.com/