c++ 写成.h .cpp main.cpp 多文件形式
1 .h 声明方法/函数 用于连接定义和实例使用
// max.h
#ifndef MAX_H
#define MAX_H
int max(int a, int b);
#endif
/*
在#ifndef和#define中使用的MAX_H就是指的max.h这个头文件的名字。
具体来说,#ifndef MAX_H中MAX_H代表了max.h这个头文件的一个唯一的标识符。#define MAX_H则是在第一次包含这个头文件时定义这个标识符。
*/
/*
#pragma once 指令不是 #ifndef 和 #endif 指令的优化版本。#pragma once 指令是编译器指令,而 #ifndef 和 #endif 指令是预处理器指令。编译器指令由编译器处理,而预处理器指令由预处理器处理。预处理器是将源代码转换为编译器可以处理的形式的程序。
#pragma once 指令比 #ifndef 和 #endif 指令更高效,因为它不需要编译器每次都检查头文件的内容。然而,#pragma once 指令不如 #ifndef 和 #endif 指令灵活,因为它只能用于确保一个头文件在程序中只被包含一次。
一般来说,当只需要确保一个头文件在程序中只被包含一次时,应使用 #pragma once 指令。当需要根据多种条件有条件地包含或排除代码时,应使用 #ifndef 和 #endif 指令。
*/
2 .cpp 定义方法/编写功能 用.h关联
// max.cpp
#include "max.h"
int max(int a, int b) {
int max = a > b ? a : b;
return max;
}
3 main.cpp 实例使用 .cpp定义的方法 用.h关联
// main.cpp
#include <iostream>
#include "max.h"
using namespace std;
int main()
{
std::cout << "Hello World!\n";
int a = 1;
int b = 2;
cout << max(a, b) << endl;
}