后端 | C++ 自定义头文件、命名空间
C++ 自定义头文件来组织和管理函数、类
- 创建一个新的头文件
- 头文件声明函数具体化
- 源文件引入并调用函数
- 创建新的头文件
- 头文件声明函数具体化
- 源文件引入并调用函数
- 结果
C++自定义命名空间
C++ 中的命名空间相当于 Java 中的 Package 包 , 最常用的命名空间是 std
自定义命名空间声明
// 自定义命名空间
namespace mynamespace {
// 调用时 需要调用 mynamespace::say_hi() 方法进行调用
void say_hi() {
// 注意 : 下面的 cout 和 endl 定义在 std 命名空间中
// 如果没有声明 using namespace std; , 就必须使用域作用符号 "::" 才能访问
// 域作用符格式 : 命名空间::调用内容
std::cout << "自定义命名空间 mynamespace say_hi() 方法 : Hi!" << std::endl;
}
}
自定义命名空间使用
- 声明命名空间
using namespace std;// 声明命名空间
namespace mynamespace { // 自定义命名空间
int aaa = 10;
}
using namespace mynamespace;// 声明命名空间
int main() {
cout << aaa<<endl; //10
return 0;
}
- 没有声明命名空间的情况下调用命名空间中的方法
using namespace std;// 声明命名空间
namespace mynamespace { // 自定义命名空间
int aaa = 10;
}
int main() {
cout << mynamespace::aaa << endl; //10
return 0;
}
C++ 头文件的创建和调用
- 创建
.h文件- 创建
.cpp文件,用于实现方法- 创建
test.cpp文件,用于测试.h文件
- 创建
.h文件
// 宏定义:#define
// 文件包含:#include
// 条件编译:#ifndef、#ifdef、#endif #ifndef: 常用语防止头文件被多次包含 #ifdef: 常用于对指定位置进行判断后进行编译
#ifndef HARDWARE_H
#define HARDWARE_H
class CommonUtil
{
public:
int sum(int a, int b);
};
#endif
#pragma once
class CommonUtil
{
public:
int sum(int a, int b);
};
class CommonUtil
{
public:
int sum(int a, int b);
};
- 创建
.cpp文件,用于实现方法
#include "CommonUtil.h";
int CommonUtil::sum(int a, int b)
{
int sum = a + b;
return sum;
}
- 创建
test.cpp文件
#include "CommonUtil.h";
#include <iostream>
using namespace std;
int main()
{
int a = 2, b = 3;
CommonUtil simple;
cout << CommonUtil.sum(a, b) << endl;
return 0;
}