Ir ao conteúdo
  • Cadastre-se

sobre operador '.'(ponto) e ponteiros


Cambalinho

Posts recomendados

dessa forma tenho de fazer 1 construtor para cada tipo... mas avalia-me esta por favor:

#include <iostream>
#include <string.h>
#include <typeinfo.h>

using namespace std;

class Variant
{
private:

string result;
public:

Variant()
{
}

template<typename B>
Variant(B val)
{
result=to_string(val);
}

Variant(string val)
{
result=val;
}

Variant(char *val)
{
result=val;
}

Variant(bool val)
{
result=to_string(val);
if (result=="0")
{
result="false";
}
else
{
result="true";
}
}

friend ostream& operator<< (ostream &out, Variant &VResult)
{
out <<VResult.result;
return out;
}

friend istream& operator>> (istream &in, Variant &VResult)
{
getline(in,VResult.result);
return in;
}
};

int main()
{
Variant b = false;
Variant i = 10;

cout <<b << "\n";//prints "false"
cout <<i << "\n";//prints "10"
cin >> i;//read i
cout << i;//prints i
int a=1000;
string v="hello world";
i=a;
cout << "\n" << i;
i=v;
cout << "\n" << i;
getchar();
return 0;
}

só nao consigo com que aceite o endereço da variavel :(

Você está guardando os dados em uma string, agora imagina se tenho uma classe que não possua um metodo to_string, nenhum dado seria guardado.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...