Estudos e uso de interface

8 respostas Resolvido
D

Boa noite a todos

Seguindo o exemplo:

class idao
{
public:
    virtual ~idao();
    virtual void insert(entity &entity) = 0;
}

class dao : public idao
{
public:
    virtual void insert(entity &entity);
}

int main()
{
    idao* dao = new dao();
}

Para fazer isso é necessário utilizar um ponteiro e eu não quero utilizar ponteiro ou smart pointer.
Como utilizar de forma correta a interface em c++, poderia chamar o dao ao invés do idao ou simplesmente não fazer ele implementar a interface? Qual seria a melhor solução para esses conceitos?
Pode ser que não tenha compreendido o conceito de programar para abstrações ou esteja tentando aprender c++ programando em outra linguagem no c++.

Obrigado a todos.

8 Respostas

wldomiciano

Tenho 97,64% de certeza de que polimorfismo em C++ depende de ponteiros, sendo assim acho que você não conseguiria fugir deles se quiser “programar para abstrações”.

Mas porque não quer utilizar ponteiros?

D

Estou estudando c++ e vi em alguns lugares para evitar o máximo possível uso de ponteiros

wldomiciano
Solucao aceita

Bom, não sei muita coisa e o pessoal daqui pode lhe dar conselhos melhores, mas tenho que dizer o seguinte:

Não leve isso tão a risca.

Ponteiros são parte essencial de C e C++ e é através deles que você consegue usar todo o potencial delas.

Por isso, ao invés de fugir deles, tente entender como funcionam de verdade.

O que vc deve ter visto é para evitar o uso indiscriminado deles, mas estude-os melhor e você vai começar a reconhecer as situações onde vc deve usá-los e onde deve encontrar outra alternativa.

Bons estudos.

D

Obrigado pelas dicas, vou continuar os estudos e aprender a utilizar os ponteiros e o polimorfismo.

rmendes08

Já tentou usar uma referência:

int main(){
    idao & dao = *new dao();
}
wldomiciano

Se ele fizer isso ele perde a capacidade de usar o delete

D

Sobre ponteiros alguém já viu esse site http://alumni.cs.ucr.edu/~pdiloren/C++_Pointers/ ?.
Peguei o livro do Bjarne para ler também

wldomiciano

Não tinha visto o site, li a primeira página, gostei, tá nos favoritos. Valeu a indicação!

Criado 19 de fevereiro de 2016
Ultima resposta 20 de fev. de 2016
Respostas 8
Participantes 3