Name Hiding Nedir?
Eğer bir sınıf ve metod aynı isime sahipse, sınıf görünmez hale gelir. Bu özellik C++ dilinin ne kadar karmaşık bir hal alabileceğine iyi bir örnek.
A class name (9.1) or enumeration name (7.2) can be hidden by the name of a variable, data member, function, or enumerator declared in the same scope.
Örnek:
Bir başka örnekte x yine function olarak algılanıyor.
Eğer bir sınıf ve metod aynı isime sahipse, sınıf görünmez hale gelir. Bu özellik C++ dilinin ne kadar karmaşık bir hal alabileceğine iyi bir örnek.
A class name (9.1) or enumeration name (7.2) can be hidden by the name of a variable, data member, function, or enumerator declared in the same scope.
Örnek:
void test(){cout<<"function"<<endl;}
struct test
{
test(){cout<<"class"<<endl;}
};
int main()
{
test();//function çıktısı verir.
return 0;
}
Bir başka örnekte x yine function olarak algılanıyor.
#include <iostream>
std::string x();
int main() {
std::cout << "x: " << x << std::endl;//1 verir
return 0;
}
Hiç yorum yok:
Yorum Gönder