Технология программирования. Базовые конструкции C/C++. Липачев Е.К. - 128 стр.

UptoLike

Составители: 

128
Пример. Три пространства имѐн содержат переменные с одинаковыми
именами. С помощью using-директивы импрортируются имена одного из
пространств имѐн Week. Поэтому первый оператор вывода обращается к
переменным из этого пространства. Далее, с помощью using-объявления в
локальную область объявлений добавляется имя Sunday::str и, поэтому
следующий оператор cout рассматривает str как Sunday::str, но
переменную t как Week::t.
#include "stdafx.h"
#include <iostream>
using namespace std;
namespace Sunday {
char str[] = "Вот и воскресенье";
int t=7;
}
namespace Saturday {
char str[] = "Пришла суббота";
int t=6;
}
namespace Week {
char str[] = "День обычный";
int t=1;
}
using namespace Week;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_CTYPE, "rus"); // русификация консоли
cout << "str= "<<str<<" t= "<<t;
using Sunday::str;
cout << "str= "<<str<<" t= "<<t;
// using Saturday::str;
cout<<"str="<<Saturday::str<<" t="<<Saturday::t;
return 0;
}
     Пример. Три пространства имѐн содержат переменные с одинаковыми
именами. С помощью using-директивы импрортируются имена одного из
пространств имѐн – Week. Поэтому первый оператор вывода обращается к
переменным из этого пространства. Далее, с помощью using-объявления в
локальную область объявлений добавляется имя Sunday::str и, поэтому
следующий оператор cout рассматривает str как Sunday::str, но
переменную t как Week::t.
#include "stdafx.h"
#include 
using namespace std;
namespace Sunday {
    char str[] = "Вот и воскресенье";
    int t=7;
}
namespace Saturday {
    char str[] = "Пришла суббота";
    int t=6;
}
namespace Week {
    char str[] = "День обычный";
    int t=1;
}
using namespace Week;

int _tmain(int argc, _TCHAR* argv[])
{
  setlocale(LC_CTYPE, "rus"); // русификация консоли
  cout << "str= "<