Eu vi poucas pessoas gostarem tanto de avião quanto esse cara.
@Loucrazy1 Жыл бұрын
kkkkkkkkkkkkk
@md29595 ай бұрын
kkkkkkkkkkkkkkkkkkkkkkkkkkkkk
@Loucrazy1 Жыл бұрын
agr eu entendi pq ano passado parei nessa aula e n voltei mais... cabeça explodindo já kkkk agr vou finalmente descobrir o q tem na aula 47!!!
@lamaspacos7 ай бұрын
Parabéns Professor Bruno! Este curso é absolutamente fantástico. (Pelo que entendi, aqui os set/get não estão como palavras reservadas; ou seja, estão a representar as estratégias de nomenclatura numa boa programação.)
@rubemfigueredo5182 Жыл бұрын
Aula muito, mas muito boa mesmo!! Como sempre as aulas do Professor Bruno são 100%.
@FelipeAugusto-hv5pv4 жыл бұрын
Muito Bom ! excelente Professor ! parabéns!
@joaquimfairadfairad56303 жыл бұрын
brigaduuuuu
@deixafluir4 жыл бұрын
estudando e estudando durante as ferias da Faculdade, vamo que vamo.
@fernandoaltava3 жыл бұрын
Esta aula foi a melhor, finalmente consegui entender get e set das propriedades privadas, obrigado professor!!!!
@deixafluir4 жыл бұрын
Na moral que aula Top!
@vagnercosta33255 жыл бұрын
Faaaaaaaaala Brunão fera, blz???? Bruno fiz o curso de javascript e encontrei mais facilidade de entender em javascript do q c++, não q não esteja entendo , mas acho q como em javascript misturava html e podia-se ver elementos , objetos se mexendo por ex, acho q se tornava mais facil de entender e de juntar os comandos, aqui como se aprende tudo separadamente se torna mais complicado de juntar os comandos, mas as aulas estão show, decidi aprender c++ p aprender arduino já q não sei programar arduino em javascript. abraços
@serhumano86 ай бұрын
nunca errei tanto ate agr nesse curso, a cada tentativa de compilar o .h era 70 erros
@ahmedcherif16272 жыл бұрын
Obrigado
@clebercbs6 жыл бұрын
Muito obrigado meu amigo, por compartilhar conhecimento!
@cfbcursos6 жыл бұрын
Eu que agradeço a sua presença aqui no canal, valeu mesmo, curta e compartilhe com seus amigos, sempre que possível.
@suuhhgomes7 жыл бұрын
19:03 Windows sendo windows... Seus videos são muito bons
@cfbcursos7 жыл бұрын
Suzan Gomes verdade, kk. Valeu
@yagamiprogrammer77927 жыл бұрын
Eu estava realmente precisando desta aula. Mas Fessor Bruno, Você pode trazer algum dia um video falando mais sobre headers files: guards, dependência de libs e conflitos, erros comuns, a diferença de #define, #ifndef, #ifdef etc..? Eu já li sobre o assunto um pouco mais, mas como meu inglês não é ruim tive que traduzir com GT e pra entender foi dose..
@traderatomico29995 жыл бұрын
Muito legal! Já sapequei o LIKE!
@joaquimfairadfairad56303 жыл бұрын
gostariade ver o final d pagina da aula 46 classes.h a pagina n coube no meu monitor
@fernandogomes71485 жыл бұрын
Obrigado!!
@Gustavo_michel2 жыл бұрын
para mostrar o nome? prototipar em public: std::string getnome(); e depois a função: std::string Veiculo::getnome(){ return nome; }
@guilhermesantiago6284 Жыл бұрын
Excelente aula, não entendi o por que de não criar um get para o nome
@andrecarvalho72659 ай бұрын
professor, se a gente determina que velMax é privado, e setVelMax também é privado, não fica inútil esse setVelMax? tendo em vista que só terá utilidade no arquivo .h, que a gente poderia utilizar direto o velMax dentro da classe. agradeço bastante se me responder
@AmeidaJoilson2 жыл бұрын
muito bom. faltou mostrar como chamar nome do carro. apanhei e não consegui.
@Loucrazy13 жыл бұрын
esse recurso de clicar em algum elemento e mostrar todos do mesmo, só tem no Cod Blocks? to no Dev C++ aki
@GameDevBoss3 жыл бұрын
Professor se eu estiver criando um jogo do tipo Bullet Hell (Ver TOUHOU como referencia), como devo declarar centenas/milhares de objetos no código? O ideal seria criar uma estrutura de Array, ou lista para gerenciar eles, acredito eu. Poderia dar detalhes sobre este tipo de implementação, ou indicar um caminho?
@vitor-a128 жыл бұрын
otimo curso! acompanhando desde o primeiro! nas proximas aulas de c++ poderia fazer um jogo basico com as ferramentas que a gente aprendeu ao longo dos videos?
@brunocampos13548 жыл бұрын
Posso pensar em algo, tem alguma sugestão? Fiz um game básico já neste curso de c++ vc viu?
@vitor-a128 жыл бұрын
Bruno Campos vi sim!um jogo da forca,bem quanto a sugestao,vc poderia fazer um jogo basico em que tem um "@" representando o personagem,e com as teclas do teclado ele anda,com isso vc poderia introduzir um novo ensinamento que seria a entrada de dados por apertar botoes. Agora o resto do jogo eu nn tenho ideia de como deve ser kk. Abraços
@cfbcursos8 жыл бұрын
rsrsrs, blz, vou pensar em algo, mas em C++ é um pouco complicado
@rafaelborges87103 жыл бұрын
Kkk tmb tou aki desde da primeira aula... Nunca pulei uma aulsa se que de c++
@Loucrazy13 жыл бұрын
então a função do get é acessar propriedades privadas e o set é de alterar propriedades provadas? e o q torna a função get ou set? fiquei um pouco confuso pq vc coloca o nomes get e set, mas parece q dá pra colocar outra coisa, porém na Unity eu lembro q tinha esses nomes q vêm como padrão
@wandevv Жыл бұрын
A keyword *new* do C++ funciona como a função *malloc* no C, A keyword *delete* funciona como a função *free* do C. Nesse momento 18:45 , é certo afirmar que devo adicionar *delete v1, v2, v3* no final por não esta mais usando as instancias do objeto declarado como ponteiro, o mesmo tem um espaço alocado na memoria para as 3 instancias por que o *new* foi usado 3 vezes, o C++ fecha automaticamente ou é certo deletar os ponteiros depois de usar?
@rafaelcouto28 ай бұрын
Delete depois de usar, pois pode haver vazamento de memória. Como é um projeto simples, não tem nada de perigoooso. Mas em projetos grandes, e também é uma boa prática para se acostumar a desalocar essas memórias, use delete. Se for um array, delete[], e apague cada elemento em um loop.
@Byynx3 жыл бұрын
Por que é que não precisamos de usar "this->" para aceder às variáveis ?
@clehpton5 жыл бұрын
Achei que poderia ser bem difícil, é nada, é bem simples e fácil!
@OzielSilva5 жыл бұрын
kkk isso que ele mostrou é o básico do básico, tem muito mais coisa em oo
@elainecordeiro48097 жыл бұрын
fessor tenho q fazer um jogo usando classe com 4 dados q rolem aleatoriamente e armazene a quantidade de pontos que cada um tirou e assim qual chegar primeiro a 10 pontos vence, mais eu nao sei se deveria fazer isso usando apenas uma classe ou como seria mais facil fazer isso se puder me ajudar fessor obrigada ,adoro os videos parabens me ajuda muito :))
@JoseJuniorlda Жыл бұрын
Nao consegui pois estou usando o visual studio 2022 e ele nao deixou eu eu usar o setVelmax.
@loliconaoquadrado41125 жыл бұрын
Por que você não usou o This para retornar os valores ligado e etc?
@Hetouioioioiedu3 жыл бұрын
(Para posteridade) Como o Professor fala em outra aula, como ele está dentro do arquivo ' .h ' 'this' não é necessário.
5 жыл бұрын
Era bom um exemplo usando como variáveis na classe vetores e matrizes... é bem mais dificil.
@Loucrazy13 жыл бұрын
po... informação pra caraca hein kk
@felipemiiller6 жыл бұрын
17:37 se eu colocar, Veiculo( 1 , 2):: setVelMax(int vm) { VelMax = vm }; e consigo só setar o veiculo 1 e 2 ?
@felipemiiller6 жыл бұрын
bom dia; teria como fazer um curso de qt ???? coloca suas aulas no udemy ...para podermos contribuir ..
@brunodalagnol77426 жыл бұрын
tem de usar as palavras get e set, ou é so para identificacao?
@cfbcursos6 жыл бұрын
Só identificação, mas é o padrão de todas linguagens
@Loucrazy13 жыл бұрын
15:51 pra mim deu 33554434, não sei pq, ta igual o seu
@magicoleo18 жыл бұрын
Fessor , fiquei com algumas duvidas nessa aula... duvida 1 : Não entendi a logica de criar um método para alterar uma variavel , e coloca-lo privado .A intenção era criar outro método pra alterar o método que altera a propriedade private??? rs "bugou" o cérebro aqui ,quando tentei entender isso que o sr fez. O Método não deveria ser publico, ja que nesse caso ele serve pra acessar uma propriedade private.?? duvida 2: O construtor serve apenas pra inicializar os dados das classes? duvida 2.1: Se ao invés de criar um construtor , eu quisesse declarar as variáveis ja com os valores , assim pouparia ter que criar um construtor , também daria certo? Opinião : Por que o sr não coloca uns exercícios e ou desafios no final da aula , sinto falta de praticar o que aprendo , e com minha pouco experiencia , parece que assimilo mais quebrando a cabeça resolvendo um desafio ... Abraço e Parabéns pelas aulas!
@tiagoliveiraaa4 жыл бұрын
depois de 3 anos você virou programador? so uma curiosidade
@alexanderalcantaralinhares90684 жыл бұрын
@@tiagoliveiraaatb to curioso agr
@sayori39393 жыл бұрын
duvida 1:o motivo de por uma variavel como privada é para que estas variaveis privadas só sejam alteradas pelo construtor, esses metodos são invocados pelo construtor. o construtor recebe um valor e por esse valor tais metodos vão receber um valor para alterar essas variaveis privadas ou seja o unico lugar que essas variaveis serao alteradas será no momento em que o objeto for criado, pois o construtor deve receber um valor duvida 2:no caso o construtor aqui recebe um valor (1,2,3) e de acordo com esse valor ele chama o setvelmax com um outro valor definido para o que o construtor serve meio que dependo do que vc faz com ele, o professor tinha dito que o construtor inicia automaticamente sem a necessidade de "chama-lo" no programa principal 2.1:se vc criasse variaveis com valores já definidos e não criasse metodos para alteralos ou criar uma função que receba tais valores vc não vai poder alterar tais valores, todos os objetos terão esses mesmos valores: sei que o comentario é antigasso mas é mais para quem passar por aqui no futuro
@sayori39393 жыл бұрын
a respeito da duvida 2: na aula anterior quando fosse criar um objeto de uma classe vc teria que criar uma função que recebesse os valores ou então teria que altera-los 1 a 1 tipo "cachorro->nome = "joão"" etc, para falar com a verdade o construtor é bem parecido com um metodo/função mas acredito que um constructor não pode ser chado quando bem entender ao constrario daquele metodo das aulas anteriores por exemplo: aviao *av = new aviao() note que aqui tbm tem um constructor mas ele "não está sendo usado" por assim dizer ele não cria nada, av possui os valores padroes da classe, se é que tais valores foram atribuidos av.criar("azul",800) como criar é um metodo ele poderia ser chamado novamente pela mesma variavel/objeto já o constructor não aviao *av = new aviao("qualquer parametro aqui") aqui de acordo com o parametro seria criado um objeto como no video por exemplo
@sayori39393 жыл бұрын
@Zenvasca putz eu parei na parte 50 e estou estudando JavaScript hrhrhe desculpe, bem pelo menos tenho todo o codigo que eu escrevi com as aulas, quando eu quiser voltar vai ser rapidinho
@masinhoplayer8773 жыл бұрын
Como que eu entro nos arquivos .H pelo devC++??? Eu procurei e não achei, pfvr me ajudem ,-,
@Hetouioioioiedu3 жыл бұрын
Procura o arquivo dentro da pasta que você criou.
@iagosoares33273 жыл бұрын
Quando vc for salvar um novo arquivo, seleciona "Header files" na aba de "Tipo".
@Relax-hq8yx8 жыл бұрын
fessor explica porque quando criamos uma classe em outra janela cria 2 tipos de arquivos .cpp e .h...
@magicoleo18 жыл бұрын
Não sei se estou sendo entrometido , mas sempre que sei de uma resposta procuro ajudar ... .h é o header ( aonde você cria a sua classe ) .cpp é aonde você constrói os métodos da classe. ______________________Ex.h______________________________________________________________________ class exemplo { Ex::Ex(); public : void setExemploKZbinr(int ,int); private: string exemplos ; ~Ex::Ex() }; ___________________________Ex.cpp_______________________________________________________________________ #include"Ex.h" void setExemploKZbinr(int entende,int achoQueSim) { exemplos = "juntosAprendemosMelhor"; } obs: assim como você estou aprendendo , se tiver algum erro fessor , corrija-me .
@Relax-hq8yx8 жыл бұрын
É como se no .h fosse só o protótipo?
@magicoleo18 жыл бұрын
sim e não . o .h é a implementação da classe, e como é uma boa pratica de programação colocar apenas o protótipo na classe ai sim, mas vc poderia usar apenas o .h! o .cpp existe apenas pra organizar(exceto no caso do main.cpp rs) , ai entra essa parte do protótipo, é mais bonito e organizado vc olhar para sua classe apenas com o protótipo, não sei se ficou claro, o professor poderia te explicar melhor ... mas é mais ou menos por ai , bons estudos e sempre que eu puder ajudar ajudarei !
@Relax-hq8yx8 жыл бұрын
Leonardo Lemos ok, obrigado!
@Relax-hq8yx8 жыл бұрын
Leonardo Lemos mas quando eu for usar os métodos eu uso no .cpp correto?
@kakashisuzuki80685 жыл бұрын
Tenho apenas uma dúvida,em 19:30 apos o fessor escrever " v1-> " abriu uma janelinha com algumas informações ... como faz pra essa janelinha aparecer? Em um trecho do video escutei ele falar "CTRL+Enter" só que não apareceu ;-;
@lucasjacinto84404 жыл бұрын
Vc tem que usar o codeblocks ele tem esses recursos
@54leonardo103 жыл бұрын
os meu so ficam desligados e o codigo ta igual
@Loucrazy1 Жыл бұрын
15:50 engraçado, o meu apareceu 200 antes de criar o set
@somenteaulas41926 жыл бұрын
Na linha 47, não foi necessário escrever "else" antes de "if" e isso não ocasionou erro durante execução. Tem alguma explicação?
@Lara_T_6 жыл бұрын
A diferença de se adicionar o else antes do if é que o programa só checa a condição do else se a anterior não tiver sido cumprida. Ex.: ele só checa se o avião é tipo 2 se ele já sabe que não é tipo 1. Se você colocar vários if's não dá erro, o programa só vai tratar como condições independentes e checar cada uma delas para ver se são verdadeiras. Como ali não é possível você ter um avião tipo 1 e tipo 3 ao mesmo tempo não faz diferença, só vai ter desperdiçado um tempo que vai ser gasto verificando se o tipo é 3, mesmo quando você já viu que o tipo é 1.
@CarlosHenrique064675 ай бұрын
Po, tem pouca explicação😢
@leandroschroder34586 жыл бұрын
por que não posso dar um valor inicial a uma variavel de um objeto??
@breno46973 жыл бұрын
claro q pode
@juicy021236 жыл бұрын
qual o sentido de criar um seter para algo privado? não basta apenas deixar público e alterar?
@leonardoomega5 жыл бұрын
Olá professor, muito bom o conteudo da aula, simplesmente Adorei, mas, nao consegui configurar o meu ambiente de desenvolvimento no codeblocks. tens um tutorial que seja atual para a versao do CB? Estou com problema na include do iostream. e varios bugs na classe... -------------- Build file: "no target" in "no project" (compiler: unknown)--------------- mingw32-gcc.exe -c C:\Users\leona\Documents\IFRS\POO\C++\exerc01.c -o C:\Users\leona\Documents\IFRS\POO\C++\exerc01.o mingw32-g++.exe -o C:\Users\leona\Documents\IFRS\POO\C++\exerc01.exe C:\Users\leona\Documents\IFRS\POO\C++\exerc01.o In file included from C:\Users\leona\Documents\IFRS\POO\C++\exerc01.c:2:0: C:\Users\leona\Documents\IFRS\POO\C++\Veiculo.h:3:1: error: unknown type name 'class' class Veiculo{ ^ C:\Users\leona\Documents\IFRS\POO\C++\Veiculo.h:3:14: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token class Veiculo{ ^ C:\Users\leona\Documents\IFRS\POO\C++\Veiculo.h:16:8: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token Veiculo::Veiculo(int tp){ ^ C:\Users\leona\Documents\IFRS\POO\C++\exerc01.c:4:1: error: unknown type name 'using' using namespace std; ^ C:\Users\leona\Documents\IFRS\POO\C++\exerc01.c:4:17: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'std' using namespace std; ^ C:\Users\leona\Documents\IFRS\POO\C++\exerc01.c: In function 'main': C:\Users\leona\Documents\IFRS\POO\C++\exerc01.c:7:5: error: unknown type name 'Veiculo' Veiculo *v1=new Veiculo(1); ^ C:\Users\leona\Documents\IFRS\POO\C++\exerc01.c:7:17: error: 'new' undeclared (first use in this function) Veiculo *v1=new Veiculo(1); ^ C:\Users\leona\Documents\IFRS\POO\C++\exerc01.c:7:17: note: each undeclared identifier is reported only once for each function it appears in C:\Users\leona\Documents\IFRS\POO\C++\exerc01.c:7:21: error: expected ',' or ';' before 'Veiculo' Veiculo *v1=new Veiculo(1); ^ C:\Users\leona\Documents\IFRS\POO\C++\exerc01.c:8:5: error: 'cout' undeclared (first use in this function) cout velMaxima; ^ C:\Users\leona\Documents\IFRS\POO\C++\exerc01.c:8:15: error: request for member 'velMaxima' in something not a structure or union cout velMaxima; ^ Process terminated with status 1 (0 minute(s), 0 second(s)) 10 error(s), 0 warning(s) (0 minute(s), 0 second(s))
@igorguimaraesdecastro58554 жыл бұрын
engraçado , estou tendo problemas com o tipo string diz no debug que não é um tipo kkkkkkkkkkkk
@Hetouioioioiedu3 жыл бұрын
Colocou assim: std::string ?? Colocou o #include "Nome_do_arquivo.h" EM BAIXO do #include ??? Incluiu #include no arquivo .cpp ??
@sayori39393 жыл бұрын
é porque vc não colocou std::string ou então using namespace std; no arquivos .h
@fahouagi5 жыл бұрын
Prof. Bruno, estou utilizando o Dev e sempre dá o erro "string in namespace 'std' does not name a type"
@magnos20004 жыл бұрын
tambem estava tendo problemas. não encontrei soluçao no dev. entao migrei para o cod... aí funciona....
@WelingtonSilvaMusica4 жыл бұрын
Talvez tenha que usar std::string
@Hetouioioioiedu3 жыл бұрын
Colocou assim: std::string ?? Colocou o #include "Nome_do_arquivo.h" EM BAIXO do #include ??? Incluiu #include no arquivo .cpp ??
@Loucrazy13 жыл бұрын
@@WelingtonSilvaMusica cara eu tentei com std::nome, deu erro, tentei sem, deu erro, tentei com dnv e foi... não sei o q houve kk Dev C++
@WelingtonSilvaMusica3 жыл бұрын
@@Loucrazy1 a biblioteca std, que é da STL, usa outras funções durante o seu codigo, entao por exemplo, se vc usa cout
@enzolx17k6 жыл бұрын
Professor em relação a esse código: #include using namespace std; //Classes class tanque{ public: string nome; string tipo; int pot; int maxspeed; string tankid; void id(string tankid); string tanque1; void mostra(); int getmaxspeed(); bool getvivo(); bool setvivo(int vi); private: int vel; bool vivo; }; //Mostra a condiçao dos tanques bool tanque::getvivo(){ return vivo; } //Adiciona a condiçao dos tanques bool tanque::setvivo(int vi){ if(vi==1){ vivo=true; coutnome="Is-7"; this->tipo="Pesado"; this->vel=0; }else if(tankid=="e100"){ this->pot=1200; this->maxspeed=35; this->nome="E100"; this->tipo="Super pesado"; this->vel=0; } } //Funçao main int main(){ tanque *tank1=new tanque; tanque *tank2=new tanque; tanque *tank3=new tanque; int i; string num; tank1->id("maus"); tank2->id("is-7"); tank3->id("e100"); tank3->mostra(); tank1->mostra(); tank2->mostra(); coutnum; //Onde o player escolhe o tanque if(num=="e100"){ system("cls"); cout
@PSTNH_D_DNT3 жыл бұрын
claro que n tem problemas, isso é coisa básica ;-;
@randomuser6936 жыл бұрын
Porque criar um método pra alterar uma propriedade privada se vc quer que o usuário ñ posa altera-la?
@eikuelopes70485 жыл бұрын
Vejo utilidade como forma de padronização da inicialização. Caso dê algum bug, você só precisa alterar em um local. Também é útil para casos onde devem existir validações prévias das entradas dadas para os objetos.
@brunoheinzelmannvieira19345 жыл бұрын
Olá, Alguem poderia resolver o problema contido em int Veiculo::*getLigado()? #ifndef VEICULO_H_INCLUDED #define VEICULO_H_INCLUDED class Veiculo { public: Veiculo(int tp); void setLigado(bool status); int getVel(); int *getLigado(); private: std::string tipo; int velMax; std::string *ligado; }; void Veiculo::setLigado(bool status) { std::string teste; if(status==true) { teste="Ligado"; *ligado=&teste; } else { teste="Ligado"; *ligado=&teste; } } int Veiculo::*getLigado() { return ligado;Gostaria de retornar o endereço contendo a string "Ligado" ou "Desligado" para não precisar criar todos aquele ifs na função principal. } int Veiculo::getVel() { return velMax; } Veiculo::Veiculo(int tp) { if(tp==1) { tipo = "Carro"; velMax = 250; } else if(tp==2) { tipo = "Aviao"; velMax = 800; } else { tipo = "Navio"; velMax = 80; } } #endif // VEICULO_H_INCLUDED
@professormarcelodamata10895 жыл бұрын
Tive que trocar o CodeBlock pelo Apache NetBeans....rsrsrs
@hiagokaic12978 жыл бұрын
POO *---------*
@igorsilvestre40825 жыл бұрын
encapsulamento ainda não faz sentido pra mim, uso pq é padrão
@eikuelopes70485 жыл бұрын
Faz todo sentido meu amigo. É muito difícil você lidar com objetos inconsistentes que podem ser manipulados das mais diversas formas. O encapsulamento te obriga a separar melhor as obrigações de cada classe com seus aspectos internos e sua interação com o meio externo além de garantir maior segurança contra erros lógicos em seus programas.
@thalescastro67256 жыл бұрын
Não ficou claro a utilização dos métodos setters e getters, bem como suas respectivas explicações.
@cfbcursos6 жыл бұрын
Tem outra aula que falo sobre, mais adiante
@lauroribeirotrader49525 жыл бұрын
Sinceramente, esta aula deveria ser desmembrada em várias outras. Ficou uma aula muito complexa pra leigos. Mesmo com o vídeo a seguir, NÃO consegui executar o resultado igual ao seu, revisei o código diversas vezes. Tive dificuldades pra fazer o CodeBlocks compilar o código, mas resolvi com o vídeo seguinte: kzbin.info/www/bejne/n5ecpXmperChpZI . Quando tento executar o cpp sempre aparece a mensagem: It seems that this file has not been built yet. Do you want to build it now? . Traduzindo: Parece que este arquivo ainda não foi construído. Você quer construir agora?
@cfbcursos5 жыл бұрын
Vou fazer uma série só sobre objetos
@rafaelborges87103 жыл бұрын
Cara pra voce ne pra mim e muito facil, acho pq nao foi facil pra vc pq faltou um pouco de pratica ai