C++命名空间和自定义头文件

下面给一个简单示例演示命名空间和自定义头文件的使用,代码如下:

compare.h:

namespace compare{
	double max(const double* data,int size);
	double min(const double* data,int size);
}

compare.cpp:

#include "compare.h"
double compare ::max(const double* data,int size){
	double result=data[0];
	for(int i=1;i<size;i++)
		if(result<data[i])
			result=data[i];
		return result;
}
double compare ::min(const double* data,int size){
	double result=data[0];
	for(int i=1;i<size;i++)
		if(result>data[i])
			result=data[i];
		return result;
}

test.cpp:

#include <iostream>
#include "compare.h"
using compare::max;
using compare::min;
//可以用下面指令的代替上面的声明
//	using namespace compare;
using std::cout;
using std::endl;

int main(){
	double data[]={1.2,3.3,5.4,2.6,4.7,6.8};
	const int dataSize=sizeof data/sizeof data[0];
	cout <<"Min double is "<<min(data ,dataSize)<<endl;
	cout<<"Max double is "<<max(data,dataSize)<<endl;
	return 0;
}

C++命名空间和自定义头文件

时间: 2024-11-06 07:46:45

C++命名空间和自定义头文件的相关文章

小猪猪逆袭成博士之C++基础篇(二) 常量、处理类型、自定义头文件

小猪猪逆袭成博士之C++基础篇(二) const .auto. decltype 上一章我们介绍了一些常用的类型和常见的问题,下面再介绍一些学习的时候不是特别常用但是在实际工程中很有用的一些东西. 一.常量const 我们想要定义一种不能改变它的值的变量,我们就对这个变脸的类型加上限定符Const. Const 对象必须要初始化,并且它一旦创建了就不能改变,所以Const变量是只能出现在等号的右边的. 另外,在C11标准中会有一种Constexpr的类型来编译器验证变量的值是是否是一个常量表达式

c 语言 遍历字符数组查找的方法 (自定义头文件)

//题目:在字符串中找出第一个只出现一次的字符. //如输入"abaccdeff\0",则输出'b'. #ifndef __SELECT_FIRST__ #define __SELECT_FIRST__ char Select_first(char *p,int size); char Select_first1(char *p, int size); char Select_first2(char *p, int size); #endif                      

C++命名空间和头文件的关系 例如已经使用了#include&lt;string&gt;,为什么还要 using std::string?

(1)如果C++程序中使用了带后缀".h"的头文件,那么不必在程序中声明命名空间,只需要文件中包含头文件即可:(2)C++标准要求系统提供的头文件不带后缀".h",但为了表示C++与C的头文件既有联系又有区别,C++中所用头文件不带后缀".h",而是在C语言的相应头文件名之前加上前缀c: (3)自定义的头文件通常带后缀“.h",系统标准库文件不带后缀“.h". (4)因为标准库非常的庞大,所程序员在选择的类的名称或函数名时就很

C++包含头文件时尖括号和双引号区别

原文链接:http://c.biancheng.net/cpp/biancheng/view/66.html 如果你还看一些别的C++教程,那么你可能很早就发现了,有些书上的#include命令写作#include <文件名>,但有时候又会出现#include "文件名".你会很疑惑,到底哪个是对的呢?为什么要有这两种不同的写法呢? 这两种写法都是正确的写法,但是它们却是有区别的.我们知道C++已经有一些编写好的头文件(比如标准函数库等等),它们存放在VC++的Includ

C/C++中如何写头文件

在C语言的学习过程中,我们一般把所有的代码写在一个文件中.随着自身水平的提高,我们发现代码越写越长,代码行数越来越多,把一个工程的所有代码写在一个文件中让人看起开非常吃力.于是我们开始想把代码中的函数归类,同一类放在同一个文件中当中,那么如何实现将一个工程中的代码放到不同文件中呢?这就需要写头文件了.下面的简单列子将让你学会如何写头文件.你也可以点击这里下载源代码自己研究. 假设我们需要定义一些与栈有关的函数,主程序需要调用这些函数. 首先,我们在同一文件夹中新建3个文件(要包含不同的自定义头文

一个小程序猿思考之路-头文件中#ifndef/#define/#endif作用和用法

编写自定义头文件时,原来就是随意的编写一些内容,但是很少去想过头文件的格式: 突然一天,发现自己的头文件里有这么几个小东西 : #ifndef DAO_H#define DAO_H ... #endif 上面这个有什么详细的意义? 恍惚的记着是为了避免头文件多次调用,造成多次编译,引起重定义的错误:

Linux平台 YouCompleteMe自动补全C++头文件

先查找系统的头文件路径 [[email protected] ~]$ sudo find / -iname 'iostream'  /usr/include/c++/4.4.4/iostream /usr/local/include/c++/6.3.0/iostream [[email protected] ~]$ sudo find / -iname 'fstream'  /usr/include/c++/4.4.4/fstream /usr/local/include/c++/6.3.0/f

C++头文件编译问题

最近刚开始学习C++对头文件编译不是太清楚,运行程序总是出错. 1 #include "stdafx.h" 2 #include <iostream.h> 3 int main(int argc, char* argv[]) 4 { 5 float num1,num2,sum; 6 cout<<"Please enter num1:"<<endl; 7 cin>>num1; 8 cout<<"Pl

单片机中用c编程时头文件reg51.h及reg52.h解析

我们在用c语言编程是往往第一行就是reg51.h或者其他的自定义头文件,我们怎么样来理解呢? 1)“文件包含”处理. 程序的第一行是一个“文件包含”处理. 所谓“文件包含”是指一个文件将另外一个文件的内容全部包含进来.程序中包含REG51.h 文件的目的是为了要使用P1 (还有其他更多的符号)这个符号,即通知C 编译器,程序中所写的P1 是指80C51 单片机的P1 端口而不是其它变量.这是如何做到的呢? 打开reg51.h 可以看到这样的一些内容: (此文件一般在C:/KEIL/C51/INC