Simpleton

V této části naleznete ukázky definic tříd a jejich členských funkcí. Tyto ukázky demostrují jak definovat členské funkce mimo a uvnitř definice třídy, tyto přístupy lze navíc kombinovat.

Definice členských funkcí mimo definice třídy

simpleton.h
#ifndef SIMPLETON_HPP
#define SIMPLETON_HPP
 
typedef unsigned int uint;
 
class simpleton
{
public:
    simpleton(uint magic_number);
    ~simpleton();
 
    uint magic_number() const;
    void set_magic_number(uint magic_number);
 
private:
    // V nasem pripade oznacujeme clenske promenne predponou "m_", neni to
    // nutne, ale ma to sve vyhody.
    uint m_magic_number;
};
 
#endif
simpleton.cpp
#include "simpleton.h"
#include <iostream>
 
simpleton::simpleton(uint magic_number) :
    // Inicializace clenskych promenych by mela probihat zde, tj. v inicializacnim listu.
    m_magic_number(magic_number) 
{
    for (uint i = 0; i < m_magic_number; ++i)
    {
        std::cout << "Hello world!" << std::endl;
    }
}
 
simpleton::~simpleton()
{
    for (uint i = 0; i < m_magic_number; ++i)
    {
        std::cout << "Goodbye cruel world!" << std::endl;
    }
}
 
uint simpleton::magic_number() const
{
    return m_magic_number;
}
 
void simpleton::set_magic_number(uint magic_number)
{
    m_magic_number = magic_number;
}
main.cpp
#include "simpleton.h"
#include <iostream>
 
int main()
{
    simpleton object(2);
    object.set_magic_number(3);
}

Definice členských funkcí uvnitř definice třídy

simpleton.h
#ifndef SIMPLETON_HPP
#define SIMPLETON_HPP
 
#include <iostream>
 
typedef unsigned int uint;
 
class simpleton
{
public:
    simpleton(uint magic_number) :
        m_magic_number(magic_number)
    {
        for (uint i = 0; i < magic_number(); ++i)
        {
            std::cout << "Hello world!" << std::endl;
        }
    }
 
    ~simpleton()
    {
        for (uint i = 0; i < magic_number(); ++i)
        {
            std::cout << "Goodbye cruel world!" << std::endl;
        }
    }
 
    uint magic_number() const
    {
        return m_magic_number;
    }
 
    void set_magic_number(uint magic_number)
    {
        m_magic_number = magic_number;
    }
 
private:
    uint m_magic_number;
};
 
#endif
main.cpp
#include "simpleton.h"
#include <iostream>
 
int main()
{
    simpleton object(2);
    object.set_magic_number(3);
}
QR Code
QR Code public:inoutdefinitions (generated for current page)