Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

matine206

duvida c++

Recommended Posts

matine206

Boas de seguida cologo um codigo c++ para os quais preciso d ajuda a identificar os erros e as proprias soluções!!!

Agradeço ajuda!!

apresento 3 exercicos se me poderem ajudar paera cada um agradeço!!!

Exercicio 1--------------------------------

class Base {
public:
int operator == ( const char *);
//...
};
class Dedived : public Base {
public:
int operator == (int);
//...
};

main (){
Derived d1;
if ( d1 == 1024 && d1 == " Ana Raquel")
//...
}

Exercicio 2-------------------------------------------

class X { 
public: 
X(); 
X(int); 
X(const X&); 
X& operator=(const X&); 
// ... 
}; 
class Y { 
public: 
Y(); 
private: 
X x; 
}; 
//... 
Y::Y() { x=0; } 
//... 

Ecercicio 3- ------------------------------------------

class Word {
public:
Word(char *);
//...
private:
string name;
int occurs;
};

main {
//...
Word noun ("book");
Word verb = noun;
//...
} 

sao 3 exemplos diferentes

Share this post


Link to post
Share on other sites
matine206

a duvida? é o seguinte esses 3 exemplos sao questões de exame na minha escola para o qual temos k dizer quais os problemas no codigo e quais as possiveis soluções

Share this post


Link to post
Share on other sites
Triton

Word noun ("book"); q isto?

Está a construir um novo objecto Word chamado "noun". Chama o constructor da classe Word passando "book" como argumento.


<3 life

Share this post


Link to post
Share on other sites
Ferreira

Problemas no código:

1. Aquela condição do if nunca vai ser verdadeira, porque d1 não pode ter dois valores em simultâneo. O mais provável seria um "||".

Quanto às outras não estou a ver porque não me lembro bem das classes em C++, talvez por estar habituado a Java.

Share this post


Link to post
Share on other sites
matine206

oi!!

é assim pelo k tenho tentado resolver surge-m as seguintes respostas! mas nao sei s esta certo!

(1): Forma errada de declarar a sobrecarga do operador de compraçao (==), o operador da classe base não é visível para a classe derivada

(2): ?????

(3): Penso k esta relacionado operador de igualdade.ou a falta de implementação de um copu«y construter

se me puderem ajudar mais agradeço e muito

Share this post


Link to post
Share on other sites
matine206

Ok obrigado pela ajuda!! e nestes alguem m pode ajudar k porblemas tem o codigo e soluções..

Exercicio 4 -------------------------------------------------------

class target_class{ 
friend class friend_class; 

private: 
double salary; 
int rating; 
}; 

target_class classA; 

int main () { 

char *p = (char *) &classA; 

classA.rating=5; 

int *pd = (int*) (p+sizeof(double)); 
*pd = 5; 

return 0; 

}

exercicio 5........................................

class Pessoa {
private:
   std::string nome;
   std::string morada;
public:
   Pessoa();
   virtual ~Pessoa();
//..
};

class Aluno: public Pessoa {
private:
   std::string nomeEscola;
   std::string moradaEscola;
public:
   Aluno();
   ~Aluno();
   //...
};

int main ( int argc, char** argv) {
  //...
  bool validaAluno (Aluno s);

  Aluno fourrier;
  bool fourrierIsOK = validaAluno(fourrier);
  //...
}

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.