c++ 在主函数文件中调用其他函数文件

方法介绍

可以把多个需要调用的子函数声明在一个头文件中。具体是:

      1. 函数的定义写在源文件(A.cpp)

      2. 把函数的声明写在头文件(B.h)里(不必与源文件同名)

      3. 在源文件(A.cpp)以及要使用这些函数的源文件中加入 #include  "B.h"

例如:如果子函数引用了string,可以直接在头文件中加上:
#include <string>
using namespace std;
这样就不必在主文件中引用这些头文件。

如果在头文件中声明和定义函数,有两种方法
1、直接在头文件中声明和定义这些子函数,然后在其它文件中引用头文件,编译时,需要加上相应头文件;
2、在头文件中声明这些子函数,然后在子函数的cpp文件中,写这些子函数的定义,同时引用该头文件,使用子函数,只需在相应的cpp文件中引用相应头文件即可,编译时需要加上相应头文件和cpp文件;

注意事项:
1、如果使用头文件中声明的子函数,需要在相应的引用该头文件的cpp文件开头(引用头文件之后),加上引用外部子函数的声明:
extern int func1(int var1, string str1);
extern int func2(int var2, string str2);
......
2、为了防止头文件重复调用出错,需要在头文件开头和结束的地方加上防止重复调用的条件编译开关:
#ifndef XXX_H
#define XXX_H
......
#endif

示例1

文件fu.cpp

#include "Funs.h" 
/*求两个数的最大值函数*/
int max(int a, int b) 
{
	return a > b ? a : b;
}

文件Funs.h

#pragma once
#ifndef FUNS_H
#define FUNS_H

/*求两个数的最大值函数*/
int max(int, int);

#endif

文件main.cpp

#include <stdio.h>
#include "Funs.h"  

int main() 
{
	int a = 12, b = 9;
	int c = max(a, 9);

	printf("%d和%d中的最大值为:%d\n", a, b, c);
	
	return 0;
}

示例2

写个头文件(a.h),对调用文件(fun.cpp)里的函数进行申明。再将头文件引在主函数所在的文件(main.cpp)里。如下面所示:

文件fun.cpp

#include "Funs.h" 
int display(int a,int b)
{
    cout<<a+b<<endl;
    return 0;
}

文件a.h

#pragma once

#ifndef A_H
#define A_H
#include <iostream>

int display(int ,int );

#endif

文件main.cpp

#include "a.h"

int main()
{
    int a=2,b=3;
    display(a,b);
    return 0;
}

简单写几行,使用非本源文件的函数就需要文件包含方式来包含其他文件,注意好头文件别重复

示例3

链接:https://blog.csdn.net/qq_42292831/article/details/82856633?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161457592716780261921811%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161457592716780261921811&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-5-82856633.pc_search_result_cache&utm_term=c%2B%2B+%E5%9C%A8%E4%B8%BB%E5%87%BD%E6%95%B0%E6%96%87%E4%BB%B6%E4%B8%AD%E8%B0%83%E7%94%A8%E5%85%B6%E4%BB%96%E5%87%BD%E6%95%B0%E6%96%87%E4%BB%B6

猜你喜欢

转载自blog.csdn.net/Dust_Evc/article/details/114260186