程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> using namespace potter 自定義命名空間和使用

using namespace potter 自定義命名空間和使用

編輯:C++入門知識

using namespace 你會發現有n多篇文章,但基本上就是那篇文章在不停的轉載,我覺得也沒覺得多清楚,就說的大家都懂得,防止命名沖突...

自定義命名空間和自定義命名空間的使用並沒有將,今天終於理解透了....在此分享給大家....

 1、自定義命名空間定義:

第一種加入自定義類到自定義命名空間方式。

namespace potter{
 //類可以添加到這裡,但是一般都不這樣添加
 //第一種方式:這裡一般寫固定寫好了的類
 //class string;
}

第二種加入自定義類到自定義命名空間方式。

using namespace potter;
class string{//string  自定義的string

}

2、自定義命名空間的使用:

上傳我測試的demo代碼,這樣大家更容易理解...

1》命名空間類頭文件:MyNameSpace.h(MyNameSpace.cpp什麼都沒做,不需理,創建這個MyNameSpace類,只做單純類創建命名空間用)

[cpp] 
    //類可以添加到這裡,但是一般都不這樣添加 
    //第一種方式:這裡一般寫固定寫好了的類 
    //class string; 

 
class MyNameSpace//此下面代碼可以不管 

public: 
    MyNameSpace(void); 
    ~MyNameSpace(void); 
}; 
2》自定義string.h

[cpp]
#pragma once 
#include "MyNameSpace.h" 
using namespace potter;//第二種加入自定義命名空間的自定義類 
class string 

public: 
    string(int); 
    ~string(void); 
    int getId(); 
private: 
    int id; 
}; 
3》自定義string.cpp

[cpp]
#include "StdAfx.h" 
#include "string.h" 
 
 
string::string(int id) 

    this->id=id; 

 
int string::getId() 

    return id; 

 
string::~string(void) 


4》TestWin32.cpp(控制台應用程序的入口)
[cpp] 
// TestWin32.cpp : 定義控制台應用程序的入口點。 
// 
#include "stdafx.h" 
#include <string.h>//估計采用兩個string來產生沖突 
#include "Student1.h" 
#include "string.h" 
#include <iostream> 
 
using namespace potter; 
 
void _tmain(int argc, _TCHAR* argv[]) 

    string s(2); 
    std::cout<<s.getId()<<std::endl; 
    return; 
}; 
5》運行結果:

2

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved