头文件与源文件
本课属于 Coddy C++ 学习旅程的“面向对象编程”单元。第 3 课,共 104 课。
在 C++ 中,代码分为用于声明的头文件(.h)和用于实现的源文件(.cpp)。
带有头文件保护的头文件(helpers.h)
#ifndef HELPERS_H
#define HELPERS_H
#include <string>
std::string greet(std::string name);
int addNumbers(int a, int b);
#endif包含实现的源文件(helpers.cpp)
#include "helpers.h"
std::string greet(std::string name) {
return "Hello, " + name + "!";
}
int addNumbers(int a, int b) {
return a + b;
}在 main 中使用它们
#include <iostream>
#include "helpers.h"
int main() {
std::cout << greet("Alice") << std::endl;
std::cout << addNumbers(5, 3) << std::endl;
return 0;
}输出:
Hello, Alice!
8头文件保护宏(#ifndef、#define、#endif)可以防止头文件被多次包含。.h 文件声明有哪些内容(函数原型),.cpp 文件定义这些内容如何工作(实现)。
挑战
中等创建三个辅助函数,并将它们分别放在头文件和源文件中:
helpers.h:函数声明和头文件保护helpers.cpp:函数实现
要创建的函数:
greet(name):返回"Hello, <name>!"ageInTenYears(age):返回age + 10checkAdult(name, age):如果年龄 >= 18,则返回"<name> is an adult",否则返回"<name> is a minor"
亲手试试
#include <iostream>
#include "helpers.h"
int main() {
std::string name;
int age;
std::getline(std::cin, name);
std::cin >> age;
std::cout << greet(name) << std::endl;
std::cout << "In 10 years you will be " << ageInTenYears(age) << std::endl;
std::cout << checkAdult(name, age) << std::endl;
return 0;
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
面向对象编程中的所有课
自己练习: C++ 在线编译器