posts - 644, comments - 2003, trackbacks - 137

My Links

News

Raffaele Rialdi website

Su questo sito si trovano i miei articoli, esempi, snippet, tools, etc.

Archives

Post Categories

Image Galleries

Blogs

Links

Nuova vita a C++. Ecco il nuovo codice.

Sto leggendo le nuove specifiche per il C++/CLI, questo è il nuovo nome delle managed extension di C++. Ribadisco quanto ho già detto in precedenti blog: le managed extension sono finite, verranno mantenute e supportate da Microsoft per coloro che hanno già del codice sviluppato con quella sintassi e che non intendono migrarlo.

Della nuova sintassi ne sono veramente entusiasta. Ci sono ancora tantissimi punti oscuri perchè la documentazione è ancora incompleta ed è ovviamente solo una delle prime bozze.

Per darvi un idea di cosa significhi questo nuovo C++, ecco il codice di una Form che ha un bottone al cui click viene aperta una message box con il classico ed immancabile.... "Hello, world".

#pragma once
namespace
NewCpp01
{
 using namespace System;
 using namespace System::ComponentModel;
 using namespace System::Windows::Forms;
 using namespace System::Drawing;
 public ref class Form1 : public Form
 {
  public:
  Form1()
  {
   InitializeComponent();
  }

  protected
:
  void Dispose(Boolean disposing)
  {
   if (disposing && components)
   {
    components->Dispose();
   }
   __super::Dispose(disposing);
  }

  private:
  Button ^btTest;
  System::ComponentModel::
Container ^components;
  void InitializeComponent(void)
  {
    this->btTest = gcnew Button();
    this->SuspendLayout();
    // btTest
    this->btTest->Location = Point(9, 185);
    this->btTest->Name = "btTest";
    this->btTest->TabIndex = 0;
    this->btTest->Text = "Test";
    this->btTest->Click += gcnew EventHandler(this, &Form1::btTest_Click);
    // Form1
    this->AutoScaleBaseSize = System::Drawing::Size(5, 13);
    this->ClientSize = System::Drawing::Size(292, 273);
    this->Controls->Add(this->btTest);
    this->Name = "Form1";
    this->Text = "Form1";
    this->ResumeLayout(false);
  

  void
btTest_Click(Object ^sender, EventArgs ^e)
  {
    MessageBox::Show("Hello, world");
  }
 };
}

 

Print | posted on domenica 9 novembre 2003 00:35 |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET