程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 設計一個類,該類不能被繼承,且只能實例化3次

設計一個類,該類不能被繼承,且只能實例化3次

編輯:C++入門知識

[cpp]
#include<iostream>  
 
class finalclass 

public: static int count; 
public: 
    static finalclass *getinstance() 
    { 
        if(count <= 0) 
            return NULL; 
        count--; 
        return new finalclass; 
    } 
    static void setcount(int n) 
    { 
        count = n; 
    } 
/*  static void deleteinstance(finalclass *pinstance)
    {
        delete pinstance;
        pinstance = 0;
    }
*/ 
private: 
    finalclass(){} 
    ~finalclass(){} 
}; 
int finalclass::count = 0; 
int main() 

    finalclass::setcount(3); 
    finalclass *f1 = finalclass::getinstance(); 
    finalclass *f2 = finalclass::getinstance(); 
    finalclass *f3 = finalclass::getinstance(); 
    if(f3 == NULL) 
        printf("f3 NULL\n"); 
    else 
        printf("f3 NOT NULL\n"); 
    finalclass *f4 = finalclass::getinstance(); 
    if(f4 == NULL) 
        printf("f4 NULL\n"); 
    finalclass *f5 = finalclass::getinstance(); 
    if(f5 == NULL) 
        printf("f5 NULL\n"); 

#include<iostream>

class finalclass
{
public: static int count;
public:
 static finalclass *getinstance()
 {
  if(count <= 0)
   return NULL;
  count--;
  return new finalclass;
 }
 static void setcount(int n)
 {
  count = n;
 }
/* static void deleteinstance(finalclass *pinstance)
 {
  delete pinstance;
  pinstance = 0;
 }
*/
private:
 finalclass(){}
 ~finalclass(){}
};
int finalclass::count = 0;
int main()
{
 finalclass::setcount(3);
 finalclass *f1 = finalclass::getinstance();
 finalclass *f2 = finalclass::getinstance();
 finalclass *f3 = finalclass::getinstance();
 if(f3 == NULL)
  printf("f3 NULL\n");
 else
  printf("f3 NOT NULL\n");
 finalclass *f4 = finalclass::getinstance();
 if(f4 == NULL)
  printf("f4 NULL\n");
 finalclass *f5 = finalclass::getinstance();
 if(f5 == NULL)
  printf("f5 NULL\n");
}

 \

 

 


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved