Skip to content

Class example::Bird

ClassList > example > Bird

Inherits the following classes: example::Animal

Inherited by the following classes: example::SpecialBird

Public Types inherited from example::Animal

See example::Animal

Type Name
typedef std::pair< Animal *, Animal * > Parents
enum Type
The 6 classes of animal kingdom.

Public Functions

Type Name
Bird (const std::string & name, Bird * mother=nullptr, Bird * father=nullptr)
Bird (const Bird & other) = delete
Bird (Bird && Bird) noexcept
virtual void make_sound () override
virtual void move () override
Bird & operator= (const Bird & other) = delete
Deleted copy operator.
Bird & operator= (Bird && other) noexcept
Move operator.
void swap (Bird & other) noexcept
~Bird () = default

Public Functions inherited from example::Animal

See example::Animal

Type Name
Animal (Type type, const std::string & name, Animal * mother=nullptr, Animal * father=nullptr)
The main constructor.
Animal (const Animal & other) = delete
Animal (Animal && animal) noexcept
const std::string & get_name () const
Get the name of the animal.
virtual int get_num_of_eyes () override const
Returns the number of eyes.
virtual int get_num_of_limbs () override const
Returns the number of limbs.
Parents get_parents () const
virtual bool has_tail () override const
Returns true if the animal has a tail.
virtual void make_sound () = 0
virtual void move ()
operator bool () const
Returns true if this is an valid animal.
Animal & operator= (const Animal & other) = delete
Deleted copy operator.
Animal & operator= (Animal && other) noexcept
Move operator.
void some_inline_member_function (Animal * animal)
Lorem Ipsum.
void swap (Animal & other) noexcept
virtual ~Animal () = default

Public Functions inherited from example::AnimalInterface

See example::AnimalInterface

Type Name
virtual int get_num_of_eyes () const = 0
Returns the number of eyes.
virtual int get_num_of_limbs () const = 0
Returns the number of limbs.
virtual bool has_tail () const = 0
Returns true if the animal has a tail.

Public Static Functions inherited from example::Animal

See example::Animal

Type Name
Animal * find_child_by_name (Animal * parent)
Animal * find_parent_by_name (Animal * child)

Protected Attributes inherited from example::Animal

See example::Animal

Type Name
Animal * father
The pointer to the father.
Animal * mother
The pointer to the mother.
std::string name

Public Functions Documentation

function Bird [1/3]

example::Bird::Bird (
    const std::string & name,
    Bird * mother=nullptr,
    Bird * father=nullptr
) 

function Bird [2/3]

example::Bird::Bird (
    const Bird & other
) = delete

function Bird [3/3]

example::Bird::Bird (
    Bird && Bird
) noexcept

function make_sound

virtual void example::Bird::make_sound () override

Implements example::Animal::make_sound


function move

virtual void example::Bird::move () override

Implements example::Animal::move


function operator=

Deleted copy operator.

Bird & example::Bird::operator= (
    const Bird & other
) = delete


function operator=

Move operator.

Bird & example::Bird::operator= (
    Bird && other
) noexcept


function swap

void example::Bird::swap (
    Bird & other
) noexcept

function ~Bird

example::Bird::~Bird () = default


The documentation for this class was generated from the following file demo-projects/animal/bird.h