Створення простого керованого консольного додатка.

Для створення консольного додатка на керованому 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 байти.