Bernardo Vieira Posted August 5, 2013 at 10:44 PM Report #520920 Posted August 5, 2013 at 10:44 PM Bom, eu uso C++ para desenvolvimentos de plugin para um server MultiPlayer e é necessario o parametro playerid como devem imaginar. Entao, até agora eu usava struct, mas como estou a usar C++ e também ainda estou a aprender decidi usar class (estou a estudar orientacao a objecto, mas nao sei quase nada ou nada ainda) e por isso vim fazer duas perguntas 1 - aconcelham-me a usar class como no exemplo abaixo ou devo usar struct e depois aquelas funcoes ( onde coloca os valores e multiplica ) colocar noutra parte do codigo ? 2 - eu fiz um pequeno teste para ver se funcionava correto, bom, funinou, mas eu tenho uma duvida, o MAX eu posso usar ali ou fará problemas com outros valores por só criar um cubo uma vez (Cubo teste1[MAX]) ? #include <iostream> #define MAX 50 using std::cout; using std::endl; class Cubo { private: int largura; int altura; public: Cubo() { Apagar(); } ~Cubo() { Apagar(); } void setLargura(int l) { largura = l; } void setAltura(int a) { altura = a; } int multiDim(void) { return (largura * altura); } void Apagar() { altura = 0; largura = 0; } }; int main() { Cubo teste1[MAX]; cout << teste1[0].multiDim() << endl; teste1[0].setAltura(5); teste1[0].setLargura(5); cout << teste1[0].multiDim() << endl; teste1[0].~Cubo(); teste1[1].setAltura(6); teste1[1].setLargura(6); cout << teste1[0].multiDim() << endl; cout << teste1[1].multiDim() << endl; teste1[45].setAltura(10); teste1[45].setLargura(10); cout << teste1[0].multiDim() << endl; cout << teste1[1].multiDim() << endl; cout << teste1[45].multiDim() << endl; system("pause"); return 1; } PS. desculpem por isto nao estar espaçado, é culpa da pagina, eu aqui tenho tudo correto!
pikax Posted August 6, 2013 at 08:12 AM Report #520931 Posted August 6, 2013 at 08:12 AM 1 - aconcelham-me a usar class como no exemplo abaixo ou devo usar struct e depois aquelas funcoes ( onde coloca os valores e multiplica ) colocar noutra parte do codigo ? Em C++ a UNICA diferenca entre uma class e uma struct e' que a class por defeito os membros sao privados e a struct sao publicos. No construtor podes inicializar as variaveis: Cubo(): largura(0), altura(0){} 2 - eu fiz um pequeno teste para ver se funcionava correto, bom, funinou, mas eu tenho uma duvida, o MAX eu posso usar ali ou fará problemas com outros valores por só criar um cubo uma vez (Cubo teste1[MAX]) ? Podes usar, se te for mais pratico para ti. Nao estas a criar um cubo de cada vez, estas a criar(neste caso) 50 Cubos de uma so' vez. 1 Report Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
Bernardo Vieira Posted August 6, 2013 at 11:55 AM Author Report #520949 Posted August 6, 2013 at 11:55 AM (edited) Em C++ a UNICA diferenca entre uma class e uma struct e' que a class por defeito os membros sao privados e a struct sao publicos. ahh bom, sim, por acaso reparei que mesmo sem usar private: as variaveis eram privadas sim! No construtor podes inicializar as variaveis: Cubo(): largura(0), altura(0){} ah sim, também pesquisei sobre como inicializar os valores e vi isso. Obrigado 🙂 Podes usar, se te for mais pratico para ti. Nao estas a criar um cubo de cada vez, estas a criar(neste caso) 50 Cubos de uma so' vez. ahhh, exato exato, era isso que eu queria saber, se estava a criar 50 cubo ou se estava a criar só um partido em 50 partes e isso daria problema. Bom, eu achei que estava a criar 50 cubos, mas para nao ficar duvida bom, era isso Muito obrigado 🙂 Edited August 6, 2013 at 11:57 AM by Bernardo Vieira
pmaa Posted August 9, 2013 at 09:09 AM Report #521315 Posted August 9, 2013 at 09:09 AM Em C++ a UNICA diferenca entre uma class e uma struct e' que a class por defeito os membros sao privados e a struct sao publicos. Não só: a herança de uma struct é por defeito pública e a de uma classe é por defeito privada: struct Derivada:Base é equivalente a class Derivada:public Base É por isso que os mais preguiçosos tendem a usar structs ... sim uso sempre structs.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now