1. file tt1.cpp
#include <stdio.h>
#include <iostream>
using namespace std;
class AvPlayer {
public:
static AvPlayer &Instance()
{
static AvPlayer avPlayer;
return avPlayer;
}
void Help()
{
printf("here...\n");
}
~AvPlayer()
{
printf("AvPlayer Destructor called...\n");
// delete avPlayer;
}
private:
AvPlayer()
{
printf("AvPlayer Constructor Called...\n");
}
};
int main(int argc, char **argv)
{
AvPlayer avPlayer = AvPlayer::Instance();
avPlayer.Help();
printf("------------------------------------\n");
}
其运行输出结果将是:
AvPlayer Constructor Called...
here...
------------------------------------
AvPlayer Destructor called...
AvPlayer Destructor called...
2. file tt3.cpp
#include <stdio.h>
#include <iostream>
using namespace std;
class AvPlayer {
public:
static AvPlayer &Instance()
{
static AvPlayer m_avPlayer;
return m_avPlayer;
}
void Help()
{
printf("here...\n");
}
private:
AvPlayer()
{
printf("AvPlayer Constructor Called...\n");
}
~AvPlayer()
{
printf("AvPlayer Destructor called...\n");
// delete avPlayer;
}
private:
};
// AvPlayer AvPlayer::m_avPlayer;
int main(int argc, char **argv)
{
AvPlayer::Instance().Help();
printf("------------------------------------\n");
}
其运行结果是:
AvPlayer Constructor Called...
here...
------------------------------------
AvPlayer Destructor called...