Miembros Especiales de la Clase en C++ (Práctica 2)

camilocorreaUdeA
107.1K views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

Métodos const

Un método calificado con la palabra reservada const tiene prohibido modificar variables de la clase a menos que estas hayan sido declaradas con la palabra reservada mutable. Un método const puede ser invocado tanto por objetos const como por objetos que no son const.

class FooClass
{
    int metodoConstFoo(int _a) const; //El calificador 'const' va al final de la firma del método
};

int FooClass::metodoConstFoo(int _a) const
{
   //Código del método
}

De acuerdo con lo anterior se puede afirmar que un método debería ser calificado con la palabra const siempre y cuando dicho método no vaya a modificar ninguna de las variables de la clase y que además se pretenda que este método vaya ser accedido por instancias const de la clase (y no-const también.)

A ver que aprendimos...

¿Cuál es el problema en el siguiente fragmento de código?
#include<iostream>

using namespace std;

class MyClass
{
	public:
	void sayHelloMethod(); 
};

void MyClass::sayHelloMethod() 
{
	cout<<"Hola Informatica 2!!!"<<endl;
}

int main()
{
	const MyClass miObj;
	miObj.sayHelloMethod();
	return 0;
}
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content