原创个人理解:都可以做工具类,直接引用,命名空间 相对于include是可以扩展的
转载
// 头文件
namespace gyy
{
class gongy
{
private:
char name[10];
int age;
public:
gong(char iname[], int age);
void output();
};
}
// 实现文件
#include <string>
#include "tt.h"
using namespace std;
namespace gyy
{
gong::gong(char iname[], int iage)
{
strcpy(this->name, iname);
this->age = iage;
}
void gong::output()
{
printf("Name: %s\n", this->name);
printf("Age : %d\n", this->age);
}
}
这样就创建了一个名字为gyy的命名空间,以后用的时候只需要加入:
using namespace gyy;
转载
http://book.51cto.com/art/201204/326981.htm
2.2.2 include预编译指令和命名空间
《C++程序设计(第8版)》第2章C++基础知识,本章将解释更多的C++示范程序,展示C++语言足够多的细节,便于你写出简单的C++程序。本节为大家介绍include预编译指令和命名空间。
2.2.2 include预编译指令和命名空间
我们所有的程序都以下面这两行代码开始:
#include <iostream>
using namespace std;
这两行使iostream库进入可用状态。cin和cout的定义就包含在这个库中。所以,假如程序使用了cin或cout,就应该在程序文件起始位置包含上述两行代码。
下面这一行代码称为include预编译指令。它将iostream库"包含"到程序中,使程序可以使用cin和cout:
#include <iostream>
using namespace std;
这个特定的using指令表明程序准备使用std(指standard)命名空间。这意味着你使用的名称具有std命名空间为其定义的含义。这儿的重点在于,cin和cout等名称在iostream中定义时,它们的定义指出它们在std命名空间中。所以,要使用cin和cout等名称,就要告诉编译器你准备"using namespace std;"。
对于命名空间并不需要了解太多(就目前而言),但简单地澄清一下,有助于解除你在使用命名空间时可能产生的一些困惑。C++之所以有命名空间,是因为有太多的东西需要命名。结果就是,可能有两个或者更多的项同名。换句话说,一个名称可能具有两个不同的定义。为消除歧义,C++将不同的项划分到不同的集合中,确保同一个集合(即同一个命名空间)中没有任何两个项同名。
注意,命名空间并不只是一个名称集合。它代表了一个C++代码主体,其中指定了某些名称的含义(比如一些定义和/或声明)。命名空间的作用是将所有C++名称规范划分成不同的集合(称为命名空间),使命名空间内的每个名称在那个命名空间中都只有一个"规范"(一个定义)。命名空间对名称进行划分,但和那些名称配合的还有大量C++代码。
可以使用两个命名空间中的两个同名元素吗?答案是肯定的,而且并不复杂,但那是本书后面要讲的一个主题。目前不需要这样做。
有的C++版本使用include预编译指令的一种古老形式(没有任何using namespace):
#include <iostream.h>
#include <iostream>
using namespace std;
#include <iostream.h>
转载于:https://blog.51cto.com/lyp634959848/1384812