使用过using namespace std; 也自己写例子在一个c文件中,定义了namespace,并且在本文件中使用了这个命名空间,但总是觉得差点意思,不像h文件、cpp文件中的类那么立体形象(h文件负责声明,cpp文件负责定义实现,其他文件如果要使用的话,先包含.h文件)。于是本着合理定义namespace的想法,写了如下一个例子,供大家参考、评论。
namespace.h文件:
#include <iostream>
namespace study
{
void hello_world(); // 也可以是extern void hello_world();
}
namespace.cpp文件:
#include <iostream>
#include <namespace.h>
void study::hello_world()
{
std::cout<<"hello world"<<std::endl;
}
main.cpp文件:
#include <iostream>
#include <namespace.h>
using namespace study;
int main()
{
hello_world();
return 0;
}
Makefile
#
#author:guofengwan
#date:2018-03-13
OBJ=$(patsubst %.cpp,%.o,$(wildcard *.cpp))
CXXFLAGS=-I ./
ALL:namespace
namespace:$(OBJ)
$(CXX) $(OBJ) -o $@
#output:
# @echo ""
# @echo $(OBJ)
.PHONY:clean
clean:
rm -rf *.o namespace
三个文件放在同一个目录下哈。