Back
Close

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

camilocorreaUdeA
107.6K views

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;
}
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io