• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

Duvidas c++

matine206

GF Bronze
Membro Inactivo
Entrou
Jan 21, 2008
Mensagens
2
Gostos Recebidos
0
Boas venho por aqui varis exer4cicios diferentes para o qual necessito d ajuda.. tem,os k saber quais os problemas no codigo e as possiveis soluções.


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

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


Exercicio 2___________________________-

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

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



Exercicio 3 -------------------------------------------------------

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 4........................................

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);
//...
}



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


String&::eek:perator=(const String & s)

{
len = s.len;
str = s.str;
index = s.index;
}

...

int main () {

String article ( "The");
String common("For example");
...
common = article;
...

}



Pelo k ja andei a ver algumas coisas p+enso k é isto:

(1):??? Estamos a igualar uma classe a zero, penso k está mal. Só se faz se existir o operador igual, mas com parametros iguais, isto é, do mesmo tipo.


(2):para que sepossa "igualar" dois objetos de uma classe simplesmente, precisamos estabelecer a sobrecarga do operador de igualdade.Além disso, é necessario que haja um construtor de cópia funcionando de forma correcta para que o compilador execute sua função.

Como nao está implementado um copy construter vai utilizar um por default.

Falta um return no main!

(3):?

(4):para começar a classe derivada nao mode ter acesso aos atributos de menbro "private" da classe base, para isso teremos k modar para protegidos..

E o main terá k ter algum return!



(5):?
 

matine206

GF Bronze
Membro Inactivo
Entrou
Jan 21, 2008
Mensagens
2
Gostos Recebidos
0
ja fix a apresentação! ja me podem ajudar?
 
Topo