/t/ - Tecnologia

Se pedires com carinho, possívelmente arranjamos o teu PC.


New Reply
Name
X
Email
Message
Files Max 4 files100MB total
Password
[New Reply]


Está na hora de escapar das prisões das redes sociais tradicionais - https://prisonbreak.foxtv.pt/


main-qimg-9975c22dcd338b3a818788e5e340b988.jpg (u)
[Hide] (117.5KB, 639x472)
language: c++
struct Classone
{
//...
}

struct Classtwo : Classone
{
//...
}

int foo(Classtwo&);

class Example : Classone {
public:
Example();
virtual void fazercenas();
protected:
Vector_ref<Classone>vectormuitoimportante
}

void Example::fazercenas()
{ 
vectormuitoimportante.push_back(new Classtwo{});
//push_back Classtwo into Classone vector
}

Example::Example() {
for (int i=0; i<vectormuitoimportante.size();I++)
foo(vectormuitoimportante[i]);
//Erro compilador, foo(Classone&) não está definido
}Como faço para o foo() correr a função definida para o tipo de dados que está no vector (Classtwo) e não aquele que está efectivamente declarado no vector (Vector_ref<Classone>)?
Não, não posso definir um foo(Classone&) porque Example está escrito para ser derivado de outras classes que vão usar dados derivado de Classone 
Basicamente, preciso de uma maneira de dizer ao compilador que quero que corra foo(Classtwo&) e não foo(Classone&) que nem existe
>alguém ajude
que nojo de captcha nunca mais posto aqui
Replies: >>5790 >>5806
Não podes.
Replies: >>5764
>>5763
Por alguma razão não acredito em ti
Replies: >>5765
>>5764
Porquê? Isto é TPC? Mete o enunciado.
Replies: >>5766
>>5765
Para te dar o enunciado tinha de estar a postar o codigo todo e ia ser doxxado. A pergunta é simples danone, e tenho a certeza que dá para especificar o tipo de alguma forma
Faz cast para Classtwo
https://stackoverflow.com/questions/5313322/c-cast-to-derived-class
Replies: >>5771
44kncmkt79o71.jpg (u)
[Hide] (208.7KB, 1755x2475)
>>5768
D-danone... Eu sou verdadeiramente um borro. Estive o dia todo de volta disto e tu chegas aqui dessa forma e dás-me a solução.

T-toma uma k-kanna fofinha...
>>5762 (OP) 
Não me lembro um crl de C++ mas vou dar umas dicas OP:

>se puderes usa exemplos mais intuitivos
Tens o classone, classtwo, o foo, o Example... um gajo chega ao fim do código e já não lembra um caralho do que cada um quer dizer. Mesmo num código super abstracto / académico, podias chamar Struct1, Struct2, Class2 e uma pessoa lá conseguia decorar a hierarquia.

>casing
escreverassiméumamerdaporquenãodáparalerumcaralho. AssimÉMenosMal. mas_assim_é_ainda_melhor_e_possivelmente_o_standard_para_c++_pelo_menos_era_para_c. Muitas vezes o melhor é usar o padrão da linguagem e está feito, mesmo que a tua preferência pessoal seja outra.

>indentação
Não sei se isto foi o ptchan ou atraso teu, mas usa-a. Não percas mt tempo: pegas num formatter que te meta isso de acordo com um standard e vais executando o gajo. Muito melhor do que cada um estar a inventar a sua nova forma de indentar merdas.
Replies: >>5792 >>5802 >>5803
>>5790
outra coisa importante é evitar raw pointers. no inicio da aprendizagem é ok mas para código mas sério é impensável
Replies: >>5803
>>5790
basado anti-esparguete danone, o código no OP parece uma língua extraterrestre
Replies: >>5803
>>5802
>>5792
>>5790
Desculpem maninhos estou a aprender sozinho pelo livro.
Este semestre devo de ir para umas cadeiras de informática estou só a espera de ser aceite
Replies: >>5804 >>5807
>>5803
Boa sorte para ti, danone, eu não teria tido coragem ou motivação para aprender a programar sozinho, se não tivesse entrado na universidade hoje provavelmente estaria num McDonalds. Fazes bem em ir postando as dúvidas que tens, que certamente não são poucas.
Replies: >>5805
>>5804
Eu estou na universidade mas devo tirar outra licenciatura em informática. Não é curso meme mas não sinto que é algo que goste e prefiro penar mais uns anos do que penar o resto da vida. Pelo menos é o meu ponto de vista. Mas obrigado danone.

Eu estou a fazer uma introdução à programação em c++ para depois saltar para uma coisa mais da moda. Pelo menos é a ideia que tenho. Estou à espera que me aceitem para umas extracurriculares de informática. Se gostar faço o curso até ao fim já que tenho muita coisa sobreposta do outro curso (matemáticas, físicas etc)
>>5762 (OP) 
Não acredito muito que se dê cenas de dynamic casting nas primeiras cadeiras de informática. Vais é andar lá a despejar um caralho de ficheiros header/source para fazer merdas simples de data management. O mais certo é nem veres linked lists e vectors.
Replies: >>5807
>>5803
Não tens de pedir desculpas, no que eu puder ajudar, ajudo com todo o gosto (e penso que será assim para todos os danones daqui).

O que o >>5806 diz é verdade mas também se fores para além daquilo que é pedido pela faculdade e começares a aplicar essas pequenas dicas que o pessoal com alguma experiência vai dando, acabas por evoluir mais rápido e por ser mais competitivo no mercado. Desde que não percas muito tempo em detalhes vai ser bom para ti.
[New Reply]
14 replies | 2 files
Connecting...
Show Post Actions

Actions:

Captcha:

Instructions
NotíciasRegrasFAQLegal/DMCASourceDoar

Todas as marcas registadas, direitos de autor, comentários e ficheiros neste site são propriedade e responsabilidade dos seus respectivos autores e proprietários. Só um louco levaria o que aqui é escrito a sério.