HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Construtores e Destructors |
|
|
Construtores
|
Os objetos necessitam inicializar as variáveis ou atribuir-lhes a memória dinâmica durante sua criação para assentar bem no operative e para evitar os valores inesperados de retorno durante a execução. Para evitar esta, uma classe pode incluir a função especial “construtor”, que é chamada automaticamente quando o objeto novo da classe é criado. A função do construtor deve ter mesmo nome que aquele da classe, e não pode ter o tipo do retorno não nivela o vácuo. Aqui nós executamos a classe de CRectangle including o construtor:
|
// example: class constructor
#include <iostream>
using namespace std;
class CRectangle
{
int width, height;
public:
CRectangle (int,int);
int area ()
{
return
(width*height);
}
};
CRectangle::CRectangle (int a, int b)
{
width = a;
height = b;
}
int main ()
{
CRectangle rect (3,4);
CRectangle rectb (5,6);
cout << "rect area: " << rect.area() << endl;
cout << "rectb area: " << rectb.area() << endl;
return 0;
}
|
|
Aqui o construtor inicializa os valores de x e de y com parâmetros que lhe são passados.
|
Os argumentos ao construtor
|
Olhar a maneira em que os argumentos são passados ao construtor, eles são passados no momento em que os objetos da classe são criados:
|
CRectangle rect (3,4);
CRectangle rectb (5,6);
|
|
Como funções regulares do membro, os construtores não podem ser chamado explicitamente eles são executados somente quando o objeto novo da classe é criado. Há nem um protótipo nem a declaração do construtor feito e nenhuns inclui o valor do retorno; nem vácuo.
|
Destructors
|
Um destructor cumpre oposto à funcionalidade. Isto é chamado automaticamente quando o objeto é destruído, porque o espaço da existência terminou fora ou dívida a razão que é o objeto que é atribuído dinâmicamente e é liberado usando o operador da supressão.
|
Um destructor deve ter mesmo nome que que da classe, mas prefixado com o sinal do tilde (~) e não deve retornar nenhum valor. O uso dos destructors é apropriado especialmente quando o objeto atribui a memória dinâmica durante a vida e neste momento o objeto é destruído nós quer livrar a memória que estêve alocada ao objeto.
|
// example on constructors and destructors
#include <iostream>
using namespace std;
class CRectangle
{
int *width, *height;
public:
CRectangle (int,int);
~CRectangle ();
int area ()
{
return (*width * *height);
}
};
CRectangle::CRectangle (int a, int b)
{
width = new int;
height = new int;
*width = a;
*height = b;
}
CRectangle::~CRectangle ()
{
delete width;
delete height;
}
int main ()
{
CRectangle rect (3,4), rectb (5,6);
cout << "rect area: " << rect.area() << endl;
cout << "rectb area: " << rectb.area() << endl;
return 0;
}
|
|
|
|
Keywords Constructors and destructors, vb net constructors, c++ destructors, c++ constructors,
c# constructors, c# destructors, java destructors, java constructors, virtual destructors,
constructors net, string constructors, using constructors, static constructors, array constructors
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|