《Essential C++ 》是本粗略的书。不过很实用

用C++,有的概念不常用,有时候用的时候就忘记了。查阅大部头的书比较麻烦。用Essential C++最好了。

手边常备Essential C++。很不错。

构造 析构:
析构函数无返回值,无参数。析构函数很多时候不用。用的情况一般是构造函数用 NEW 申请了堆空间。

若果有必要设计拷贝构造函数,那么也一定有必要设计 copy assignment operator.一般有指针成员变量的话,需要设计拷贝构造函数。默认的拷贝构造不好用。

this 指针:

 class demo
{
public:
     int fundemo(int a,int b) {value1 = a,value2 = b}; // <=> int fundemo(int a,int b,demo * this){this.value1 = a,this.value2 = b}; 
private:
     int value1;
     int value2;
};

  

static:

static member function    类外定义的时候不需要 STATIC 关键字

static  member data  类内相当于声明,类外需要定义和初始化:int A::demostatic = 5;

class intBuffer {
public:
	// ...
private:
	//static  const int _buf_size = 1024; // ok but not with VC++
	enum { _buf_size = 1024 };
    int _buffer[ _buf_size ];             // ok
};

运算符重载:

member operator             this指针隐含代表左侧操作数。

non -member operator    多以个参数。

嵌套型别: typedef 这里就是这只别名。typedef  Triangular_iterator  iterator;

友元: friend 声明可以出现在类的任何位置,不受public 和private 的限制。使用是为了效率。可以不用。

实现一个 copy assignment opterator:

matrix& matrix::operator=(const matrix& rhs)

{

       if(*this != rhs)

        {

                    _roh = rhs._roh;

                    delete [] _pmat;

                     _pmat = new double[elem_cnt];

        }

        return  *this;

}

function object:    -----------提供有function call 运算符的 class

 

class LessThan {
public:
   LessThan( int val ) : _val( val ){}
   int  comp_val() const    { return _val; }
   void comp_val( int nval ){ _val = nval; }

	bool operator()( int value ) const;

private:
   int _val;
};

inline bool 
LessThan::operator()( int value ) const 
      { return value < _val; }


 

将 iostream运算符重载

<< 这个运算符必须是 non-member function。

>> 这个运算符需要考虑输入问题,难设计。

指向member   function 的指针

与指向 non-member function 的指针有些不同,必须要指出他是指向那个class 的。

这个比较陌生。  ->*   .*  这里会这么用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值