c++学习笔记——细节关键点

来源:互联网 发布:海量数据备份 编辑:程序博客网 时间:2024/06/06 04:02

参考书籍:essential c++,第四章

本文记录那些该知道却不甚清楚的东西,基于书本和自己的理解。

1.c++定义class,public内放的东西是给外人看的,class开放给外人的接口;private中放的成员是自己用的,外人不必知道,除了我的朋友(friend)。

2.member funtion必须在class主体内声明,是否在主体内定义可自由决定。若在class中定义,则自动被视为inline函数。

   inline函数放在主体内和主体外没有区别。

   class和inline函数的定义都应放在头文件中。non-inline成员函数则应该在程序代码文件中定义。

3. 构造函数不应指定返回类型,也不用返回任何值。它可以被重载。

    析构函数绝对没有返回值,也没有任何参数,所以也不能被重载。

4. new从heap(堆)中分配空间

5. copy constructor拷贝构造函数,唯一的参数是const reference &,指向(代表)一个类对象

6. this指针在member function 成员函数中用来指向其调用者(一个对象)。编译器自动将每个*this指针加到成员函数列表。

7. static成员函数中不可访问非static成员变量。

8. 运算符重载,除了.  .*  ::  ?: 四个运算符,其他运算符皆可被重载,运算符操作数个数不可变;优先级不可变;运算符函数的参数列表中必须至少有一个参数为class类型。

    对成员运算符而言,成员运算符函数参数列表中含有隐式指针this,代表左操作数。

0 0