Функции-члены, которые определены внутри структуры, являются встраевыми. Обычно, толь маленькие, часто используемые функции определяются внутри структуры(как в предыдущем уроке). Что бы определить функцию-член вне структуры используется оператор "::". Давайте это наглядно покажем переделав структуру из предыдущего урока.

struct stack
{
  char s[1000];
  int top;
  void reset();
  void push(char c);
  char pop();
}; 

void stack::reset()
{
  top = -1;

void stack::push(char c)
{
  ++top;
  s[top] = c;

char stack::pop()
{
  --top;
  return s[top];

    Запись void stack::reset() говорит, что функция reset() принадлежит структуре stack. Благодаря оператору "::" мы можем иметь одинаковые имена функций для разных типов структур.