Mega Code Archive

 
Categories / C++ Tutorial / Class
 

Name conflicts

/* The following code example is taken from the book  * "C++ Templates - The Complete Guide"  * by David Vandevoorde and Nicolai M. Josuttis, Addison-Wesley, 2002  *  * (C) Copyright David Vandevoorde and Nicolai M. Josuttis 2002.  * Permission to copy, use, modify, sell and distribute this software  * is granted provided this copyright notice appears in all copies.  * This software is provided "as is" without express or implied  * warranty, and with no claim as to its suitability for any purpose.  */ #include <iostream> int C; class C {   private:     int i[2];   public:     static int f() {         return sizeof(C);     } }; int f() {     return sizeof(C); } int main() {    std::cout << "C::f() = " << C::f() << ","              << " ::f() = " << ::f() << std::endl; } C::f() = 8, ::f() = 4