Oi.
Tenho uma pequena aplicação em PHP. Inicialmente pensei em rodá-la na Web, mas daí mudei de ideia e resolvi que seria desktop. Como seria ruim para os usuários ter que baixar um runtime, achei melhor converter as classes e testes para C++. Estou usando a IDE Code::Blocks e querendo usar wxWidgets.
Andei lendo um pouco sobre C++, mas não entendi muito. A começar pela separação de uma classe em interface (h) e implementação (cpp). Olha a classe que a IDE gerou:
Char.h
[code]#ifndef CHAR_H
#define CHAR_H
class Char {
public:
Char();
virtual ~Char();
protected:
private:
};
#endif // CHAR_H[/code]
Char.cpp
[code]#include “…/include/Char.h”
Char::Char() {
//ctor
}
Char::~Char() {
//dtor
}[/code]
Dúvida:
1- O código dentro de Char.cpp pertencerá obrigatoriamente à classe descrita no .h?
2- Essa estrutura é adequada? Qual a vantagem de separar a classe em 2 arquivos?
3- Tentei incluir um método com o uso de “this” e não consigo. Por quê? (abaixo)
Char.h
public:
void setLevel(int);
int getLevel();
Char();
virtual ~Char();
Char.cpp
int level;
void setLevel(int level) {
this.level = level;
}
Tanto faz setLevel ou Char::setLevel.