I wrote an singletone class as below:
class logger
{
    FILE *__fp_log = NULL;
    const char* __logpath;
    //Constructor
    logger();
    static logger* __instance;
    logger& operator=(const logger &) ;
    logger(const logger &);
public:
    ~logger();
    void write_file( const char* ,... );
    static logger* getInstance();
};
I understand that I need to make Copy Constructor and assignment operator as private (reference here). But still I can access them from main():
logger* log = logger::getInstance();
logger* log2 = logger::getInstance();
log = logger::getInstance();
I should get a compilation warning, any pointer why compilation is not complaining? I am compiling using g++:
g++ .\main.cpp .\logger.cpp
 
    