Объявление using
Объявление using вводит имя из пространства имен
или базового класса в текущую область видимости.
В первом случае мы указываем пространство имен и имя,
которое хотим использовать, а во втором - имя члена
базового класса, доступ к которому нужно открыть.
Синтаксис
using namespace_name::name;
using Base::member;
Пример
Давайте введем имя cout из пространства имен
std в текущую область видимости и выведем
строку:
#include <iostream>
using std::cout;
int main()
{
cout << "abcde" << std::endl;
return 0;
}
Результат выполнения кода:
"abcde"
Пример
Давайте введем имя vector из пространства имен
std и создадим вектор с числами:
#include <iostream>
#include <vector>
using std::vector;
using std::cout;
int main()
{
vector<int> res = {1, 2, 3, 4, 5};
for (int num : res) {
cout << num << " ";
}
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте откроем доступ к методу базового класса
через объявление using в производном классе:
#include <iostream>
class Base {
public:
void show() {
std::cout << "Base" << std::endl;
}
};
class Derived : public Base {
public:
using Base::show;
};
int main()
{
Derived obj;
obj.show();
return 0;
}
Результат выполнения кода:
"Base"
Смотрите также
-
ключевое слово
namespace,
которое создает пространство имен -
директива
using namespace,
которая вводит все имена пространства имен -
оператор
::,
который разрешает область видимости -
ключевое слово
auto,
которое выводит тип автоматически