zoukankan      html  css  js  c++  java
  • 二阶构造函数

    class IntArray
    {
    private:
    int m_length;
    int* m_pointer;

    IntArray(int len);
    IntArray(const IntArray& obj);
    bool construct();
    public:
    static IntArray* NewInstance(int length);
    int length();
    bool get(int index, int& value);
    bool set(int index ,int value);
    ~IntArray();
    };
    IntArray::IntArray(int len)
    {
    m_length = len;
    }

    bool IntArray::construct()
    {
    bool ret = true;

    m_pointer = new int[m_length];

    if( m_pointer )
    {
    for(int i=0; i<m_length; i++)
    {
    m_pointer[i] = 0;
    }
    }
    else
    {
    ret = false;
    }

    return ret;
    }

    IntArray* IntArray::NewInstance(int length)
    {
    IntArray* ret = new IntArray(length);

    if( !(ret && ret->construct()) )
    {
    delete ret;
    ret = 0;
    }

    return ret;
    }

    int IntArray::length()
    {
    return m_length;
    }

    bool IntArray::get(int index, int& value)
    {
    bool ret = (0 <= index) && (index < length());

    if( ret )
    {
    value = m_pointer[index];
    }

    return ret;
    }

    bool IntArray::set(int index, int value)
    {
    bool ret = (0 <= index) && (index < length());

    if( ret )
    {
    m_pointer[index] = value;
    }

    return ret;
    }

    IntArray::~IntArray()
    {
    delete[]m_pointer;
    }

  • 相关阅读:
    JS中的instanceof和typeof
    JSONP跨域的原理解析
    svn add 忽略node_modules
    淘宝flexible.js的使用
    最简单的方式实现rem布局
    关于不同retina的布局
    es5实现es6方法
    Webpack loaderUtils.parseQuery()
    npm操作命令
    阿里云服务器配置https
  • 原文地址:https://www.cnblogs.com/judes/p/8186419.html
Copyright © 2011-2022 走看看