header file in c++ code example
Example 1: what is a header in c++
// my_class.h
#ifndef MY_CLASS_H // include guard
#define MY_CLASS_H
namespace N
{
class my_class
{
public:
void do_something();
};
}
#endif /* MY_CLASS_H */
Example 2: c++ header files
// You should use header files when you wan't to split your
// program across multiple files. Use it like this:
// vec2.hpp
class vec2 {
public:
void printVec(); // Decleration
float x, y;
}
// vec2.cpp
#include "vec2.hpp"
void vec2::printVec() { // Implementation
std::cout << x << y << std::endl;
}
Example 3: what is a header in c++
// sample.h
#pragma once
#include <vector> // #include directive
#include <string>
namespace N // namespace declaration
{
inline namespace P
{
//...
}
enum class colors : short { red, blue, purple, azure };
const double PI = 3.14; // const and constexpr definitions
constexpr int MeaningOfLife{ 42 };
constexpr int get_meaning()
{
static_assert(MeaningOfLife == 42, "unexpected!"); // static_assert
return MeaningOfLife;
}
using vstr = std::vector<int>; // type alias
extern double d; // extern variable
#define LOG // macro definition
#ifdef LOG // conditional compilation directive
void print_to_log();
#endif
class my_class // regular class definition,
{ // but no non-inline function definitions
friend class other_class;
public:
void do_something(); // definition in my_class.cpp
inline void put_value(int i) { vals.push_back(i); } // inline OK
private:
vstr vals;
int i;
};
struct RGB
{
short r{ 0 }; // member initialization
short g{ 0 };
short b{ 0 };
};
template <typename T> // template definition
class value_store
{
public:
value_store<T>() = default;
void write_value(T val)
{
//... function definition OK in template
}
private:
std::vector<T> vals;
};
template <typename T> // template declaration
class value_widget;
}
Example 4: what is a header in c++
int x; // declaration
x = 42; // use x
Example 5: c++ header files example
//headers
#ifndef TOOLS_hpp
#define TOOLS_hpp
#include<vector>
#include<iostream>
#include<fstream>
#include<string>
using std::ifstream;
using std::cout;
using std::cin;
using std::endl;
using std::cerr;
using std::vector;
using std::string;
// functions prototypes
inline vector<int> merge(const vector<int>&a,const vector<int>& b);//merge function prototype with Formal Parameters
std::vector<int> sort(size_t start, size_t length, const std::vector<int>& vec);//sort function prototype with formal parameters
#endif
Example 6: including cpp header file in c++
#include "enter_name_here.cpp"
//Make sure the files are in the same directory.