Estou tentando demonstrar, que com o operador de resolução de escopo, posso resolver problemas de ambigüidade. O programa abaixo apresenta erro justamente, porque não conseguiu demonstrar isso.Poderiam modificar o programa, de forma a demonstrar, que sem o operador :: , ocorra a ambigüidade e sem ele ocorra ?
#include <iostream>
using namespace std;
class calculo
{
int a,b;
public:
calculo();
void a();
int soma();
};
int main()
{
calculo resultado;
resultado.soma();
cout << "\n";
system ("pause");
return 0;
}
calculo::calculo()// contrutor
{
a=0;b=0;
}
int calculo::soma()
{
int valor;
cout << "entre co os dois valorfes da soma\n";
cin >> a >> b;
cout << "\n";
valor = a + b;
cout << "Total:" << valor;
return valor;
}
void calculo::a()
{
cout << "Sem valor\n";
}
Erros
10 D:\Sobre_C++\Livro C++guia para iniciantes\ambiguidade_de_funcao.cpp declaration of `void calculo::a()'
6 D:\Sobre_C++\Livro C++guia para iniciantes\ambiguidade_de_funcao.cpp conflicts with previous declaration `int calculo::a'
O Compilador, não retornou nenhuma mensagem tipo: “ambiguity in class”, o que indica, que provavelmente eum não consegui criar uma situação de ambigüidade.
A idéia é que a ambigüidade seja resolvida com o operador de resolução, e não haja erro.
Pergunta
Castro
:rolleyes:
Estou tentando demonstrar, que com o operador de resolução de escopo, posso resolver problemas de ambigüidade. O programa abaixo apresenta erro justamente, porque não conseguiu demonstrar isso.Poderiam modificar o programa, de forma a demonstrar, que sem o operador :: , ocorra a ambigüidade e sem ele ocorra ?
#include <iostream> using namespace std; class calculo { int a,b; public: calculo(); void a(); int soma(); }; int main() { calculo resultado; resultado.soma(); cout << "\n"; system ("pause"); return 0; } calculo::calculo()// contrutor { a=0;b=0; } int calculo::soma() { int valor; cout << "entre co os dois valorfes da soma\n"; cin >> a >> b; cout << "\n"; valor = a + b; cout << "Total:" << valor; return valor; } void calculo::a() { cout << "Sem valor\n"; }Erros
O Compilador, não retornou nenhuma mensagem tipo: “ambiguity in class”, o que indica, que provavelmente eum não consegui criar uma situação de ambigüidade.
A idéia é que a ambigüidade seja resolvida com o operador de resolução, e não haja erro.
Obrigado
Editado por CastroLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.