#include <iostream>
#include <string>
#include <vector>

struct UI
{
    UI( const std::vector<std::string>& menuwords,
        const std::string& either_header_or_footer, bool is_header ) ;

    void display() const ;

    // ...

    std::vector<std::string> menuarray ;
    std::string header_or_footer ;
    bool head ;
    bool foot ;

    std::size_t place = 0 ;
};

UI::UI( const std::vector<std::string>& menuwords,
        const std::string& either_header_or_footer, bool is_header )
                : menuarray(menuwords), header_or_footer(either_header_or_footer)
      { head = is_header ; foot = !is_header ; }

void UI::display() const
{
    for( std::size_t i = 0 ; i < menuarray.size() ; ++i )
    {
        if( i == place ) std::cout << '>' ;
        else std::cout << ' ' ;
        std::cout << menuarray[i] << '\n' ;
    }
}

int main()
{
    std::vector<std::string> menuwords { "zero", "one", "two", "three", "four" } ;
    UI ui( menuwords, "this is a header", true ) ;
    ui.display() ;

    std::cout << "---------\n" ;
    ui.place = 2 ;
    ui.display() ;
}
