Опубликован: 13.07.2010 | Доступ: свободный | Студентов: 889 / 20 | Оценка: 4.40 / 4.20 | Длительность: 77:34:00
Самостоятельная работа 1:

Простое приложение на нескольких языках программирования

Самостоятельная работа 1: 123 || Самостоятельная работа 2 >
Аннотация: В лекции рассматривается простое консольное приложение, разработанное на классах нескольких языков: C++, C#, Visual Basic.

Файлы к лабораторной работе Вы можете скачать здесь

Это небольшой пример для демонстрации способа многоязыковой разработки отдельных частей одного и того же приложения. Задача работы - продемонстрировать тот факт, что выбор языка в среде .NET не имеет никакого значения. Хоть пример является максимально простым, но принципы остаются неизменными независимо от сложности приложения. Важно лишь, чтобы при создании сборки учитывались общие требования к языкам для всех открытых переменных, методов и свойств.

План будет такой

  1. Напишем базовый класс на C++
  2. Напишем класс на Visual Basic.NET, который будет наследовать от класса C++
  3. Напишем класс на C#, который в консольном приложении создаст экземпляр класса Visual Basic.NET и вызовет его метод
  • Выберите место для размещения нового решения
  • Через меню оболочки вызовите мастер создания нового пустого решения


  • Укажите в мастере имя решения HelloSolution


После щелчка по кнопке OK мастер создаст каталог, имя которого совпадает с именем решения HelloSolution. Решение будет состоять из нескольких проектов, которые будут храниться в подчиненных каталогах. Выбор шаблона Blank Solution указывает, что будет разрабатываться приложение, нейтральное к используемому языку.

Написание класса на C++ .NET

  • Вызовите через меню оболочки мастер добавления нового проекта в наше пустое решение


  • Укажите мастеру, что мы собираемся добавить в решение проект типа библиотечного класса на управляемом C++ (C++.NET) с именем HelloCPP


Обратите внимание на нижнюю часть окна мастера, где прописан подчиненный каталог для размещения кода нового проекта, добавляемого в решение.

После щелчка по кнопке OK мастер создаст заготовку кода добавляемого проекта HelloCPP. Состав файлов заготовки проекта отобразится в панели Solution Explorer


  • Откройте на редактирование файл HelloCPP.h. Его заготовка, созданная мастером, имеет вид
// HelloCPP.h
  
#pragma once
  
using namespace System;
  
namespace HelloCPP
{
  public __gc class Class1
  {
    // TODO: Add your methods for this class here.
  };
}
Листинг 1.1. Заготовка описания класса в файле HelloCPP.h

Не будем пока обращать внимание на некоторые новые элементы, заметим лишь, что заготовка создана для управляемого C++.

  • Замените сгенерированное мастером имя класса Class1 на более осмысленное HelloCPP.

Поскольку реализация класса весьма проста, разместим наш простой код прямо в заголовочном файле. Код будет выводить сообщение на главную консоль (экран).

  • Измените код файла HelloCPP.h, чтобы он выглядел так
// HelloCPP.h
  
#pragma once
  
using namespace System;
  
namespace HelloCPP
{
  public __gc class HelloCPP
  {
    // TODO: Add your methods for this class here.
  public:
    virtual void Hello()
    {
      Console::WriteLine("Привет из управляемого C++ !!!");
    }
  };
}
Листинг 1.2. Измененный файл HelloCPP.h

Здесь метод HelloCPP::Hello() использует функцию System::Console::WriteLine() из библиотеки классов .NET Framework для вывода в окно консоли приветствия от управляемого кода C++.

  • Постройте проект, не запуская его на выполнение, и убедитесь в отсутствии синтаксических ошибок
Самостоятельная работа 1: 123 || Самостоятельная работа 2 >