名称空间

来源:互联网 发布:圆的面积周长编程 编辑:程序博客网 时间:2024/04/28 14:46
#ifndef _BS_H#define _BS_H#include <string>//在头文件里边就不要使用using namespace std 要使用哪一个就直接用,如下边的例子所示的,namespace Bookstore  // 这个是名称空间,{class Sales_item  // 这个是类的声明,{public:Sales_item(const std::string &book = "") : isbn(book), untis_sold(0), revenue(0.0){}double avg_price() const;private:std::string isbn;unsigned untis_sold;double revenue;};}#endif _BS_H

#include "bs.h"namespace Bookstore{double Sales_item::avg_price() const   // 这个是成员函数的定义,{if(untis_sold)return revenue / untis_sold;else return 0;}class Dog{};}

#include <iostream>#include "bs.h"class store   // 这个是全局的名称空间,全局名称空间没有名称,{};// 名称空间可以是不连续的,也可以在里边嵌套一个。using namespace std;  // std 就是名称空间,使用using namespace std 就不用再每次使用std:: 这四个点是作用域,// using std::cout;// using std::endl;  // 这种方法比较的好,用哪一个就把哪一个用using,这些在源文件中比较的使用,namespace k = Bookstore;  // Bookstore的别名k就是相当于Bookstore,namespace MyApp{class Dog  // 与其对应的名称空间Bookstore也有类Dog,各自定义自己的类,{};void processTrans(){k::Sales_item s;Bookstore::Sales_item s2;}}int main(){// using naspace MyApp  // 在这个里边就可以省略MyApp再加四个点,cout << "xiao cui" << endl;  // std 就是名称空间MyApp::processTrans();  // 函数processTrans在被调用的时候就要在前边加上它的名称空间MyApp,Bookstore::Sales_item item;::store ant;  // 这样就可以使用类store了,::store t;return 0;}

0 0
原创粉丝点击