Для створення консольного додатка на керованому C++ варто виконати наступну послідовність операцій:
1. Запустите на виконання Visual Studio. NET (2005 або більше нової)
2. Виберіть послідовно пункти меню File - New Project (Файл - Створити новий
проект) для того щоб відкрити діалог New Project (Створення проекту). Для активізації вікна створення нового проекту можна використати й комбінацію клавіш Ctrl + Shift + N.
3. У вікні, що з'явилося, в Project types вибрати мова Visual C++, а в Templates - CLR Console Application.
4. Внизу вікна вкажіть місце розташування проекту (Location) і його ім'я (Name) і натисніть ОК.
У результаті виконаних дій буде створений проект, що виводить на екран один рядок "Hello World":
// HelloWorld.cpp : main project file.
#include "stdafx.h"
using namespace System;
int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");
return 0; }
Отриманий проект можна запустити на виконання, наприклад по натисканню Ctrl+F5, і одержати наступний результат.
У випадку, якщо програма не використає параметри, передані їй у командному рядку, то функцію main можна переписати так:
int main()
{
. . . . .
}
У наведеному прикладі можна побачити нову конструкцію
using namespace System;
яка описує (або говорять повідомляє) т.зв. простір імен. Простору імен не застосовуються в бібліотеках, що підтримують MFC, але стандартна бібліотека ANSI C++ і бібліотеки, що підтримують CLR й Windows Forms, використають їх дуже інтенсивно.
Ви вже знаєте, що все імена, використовувані в стандартній бібліотеці ISO/ANSI C++, визначені в просторі імен std. Це значить, що все імена, що зустрічаються в стандартній бібліотеці, мають додаткове кваліфікуюче ім'я — std, тому cout, наприклад — це насправді std: : cout.
Объявление в попередньому прикладі простору імен System представляє простір імен C++, прямо відповідному простору імен .NET, що має та ж назва.
Повна назва класу складається з назви простору імен, за яким ідуть два
двокрапки й назва класу, наприклад, System::Console. Хоча вираження using namespace, у попередньому прикладі не використається, воно дозволяє використати короткі імена класів, наприклад, Console замість System::Console.
Символ 'L' перед рядком "Hello World" в операторі висновку
Console::WriteLine(L"Hello World");
означає. що це Unicode-рядок. т.е. кожен символ займає 2 байти.