برای اینکه نمونه هایی constی که از اون کلاس ساختیم به مشکل نخورن .
این کد رو نگاه کن و کامپایل کن :
#include <iostream>
using namespace std;
class A
{
public:
void Foo (void)
{
cout<<"Foo()"<<endl;
}
};
int main(int argc,char* argv[])
{
A obj;
obj.Foo();
const A obj2;
obj2.Foo();
}
وقتی که برنامه رو کامپایل میکنی میبینی که چون شی obj2 یک شی const هست و متد ()Foo یک متد const نیست کامپایل با خطا مواجه میشه .
و حالا این کد رو نگاه کن و کامپایل کن :
#include <iostream>
using namespace std;
class A
{
public:
void Foo (void) const
{
cout<<"Foo()"<<endl;
}
};
int main(int argc,char* argv[])
{
A obj;
obj.Foo();
const A obj2;
obj2.Foo();
}