Windows Form - pliki nagłowkowe i cpp

0

Hej :)
Mam może głupie pytanko ale ...
gdy tworze nowego Windows Form, tworzą mi się dwa pliki *.cpp i *.h
z tego co mnie uczono w pliku nagłówkowym powinny znajdować się tylko deklaracja a kod treściwy dopiero w cpp.
Ale często widzę że ludzi piszą kod w pliku nagłówkowym, zresztą sam visual gdy gdzie się dodać kod np do buttona to przerzuca nas do pliku nagłówkowego. a więc w takim razie co ma się znajdować w cpp ?
może śmieszne pytanie ale nie mogę się odnaleźć w tych windows form.
Pozdrawiam :)

0

Visual dodaje wszystko do h bo tak autorom środowiska było łatwiej to zaprogramować.

Możesz ręcznie kod przenieść do pliku cpp.

0

Hej

Czy mógłbyś opisać jak przenieść ręcznie.

Ja na przykład mam kawałek kodu w pliku MyForm.h.

private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) 
{	
	//close serialPort
	this->serialPort1->Close();
	this->label4->Text = "Port zamkniety";
}

Gdy go przenoszę do do MyForm.cpp dostaje masę błędów.

Za wszelkie informację będę wdzięczny.

0
ice25 napisał(a):

Hej :)
Mam może głupie pytanko ale ...
gdy tworze nowego Windows Form, tworzą mi się dwa pliki *.cpp i *.h
z tego co mnie uczono w pliku nagłówkowym powinny znajdować się tylko deklaracja a kod treściwy dopiero w cpp.
Ale często widzę że ludzi piszą kod w pliku nagłówkowym, zresztą sam visual gdy gdzie się dodać kod np do buttona to przerzuca nas do pliku nagłówkowego. a więc w takim razie co ma się znajdować w cpp ?
może śmieszne pytanie ale nie mogę się odnaleźć w tych windows form.
Pozdrawiam :)

Co do zasady, masz rację. Ale funkcje inlinowe tudzież template'y jednak trzeba umieszczać w plikach nagłówkowych.

0

Czy mógłbyś opisać jak przenieść ręcznie.

Tak samo jak zawsze w C++. Poszukaj gdzieś w kursie podstaw (nie Windows Forms, tylko samego C++).

W skrócie:

plik .h

class Klasa
{
   private:
      void foo();
};

plik .cpp

void Klasa::foo()
{
   ...
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1