一、单例模式

二、成员指针
class Student {
public:
  string m_name;
  void print (void) { ... }
};
1.指向成员变量的指针
成员变量类型 类名::*指针变量名;
string Student::*pname;
pname是一个指向Student类中string类型成员变量的指针。
指针变量名 = &类名::成员变量名;
pname = &Student::m_name;
对象.*指针变量名/对象指针->*指针变量名
.*  - 成员指针解引用运算符
->* - 成员指针间接访问运算符
Student s (...), *p = &s;
cout << s.*pname << endl;
cout << p->*pname << endl;
2.指向成员函数的指针
成员函数返回类型 (类名::*指针变量名) (形参表);
void (Stduent::*pprint) (void);
指针变量名 = &类名::成员函数名;
pprint = &Student::print;
(对象.*指针变量名) (实参表)/
(对象指针->*指针变量名) (实参表)/
Student s (...), *p = &s;
(s.*pprint) ();
(p->*pprint) ();

三、操作符重载的基本概念
c1-(c2+c3)
c1.sub (c2.add (c3));
1.操作符和操作符函数
1)双目操作符:+-*/%...,+=/-=...,<</>>
L#R -> L.operator#(R),左调右参
    -> ::operator#(L,R),左一右二
2)单目操作符:-/~/!...,++/--
#O/O# -> O.operator#()
      -> ::operator#(O)

3)三目操作符:?:,不能表示为操作符函数
2.所谓操作符重载,其本质就是根据不同的数据类型,定义相应的操作符函数,以使自定义类型能够与基本类型应用相同或相近的语义进行运算。
3.能够被重载的操作符的操作数种至少有一个是类类型。
4.操作符的优先级和结合序不会因重载而发生变化。
5.操作符的操作数个数不会因重载而发生变化。
6.除了“()”操作符以外所有的操作符函数都不能带有缺省参数。
7.并不是所有的操作符都能重载。
8.不能发明新的操作符。
x ** y

四、双目操作符
1)+-*/
2)复合赋值:+=/-=
3)输入输出:>>/<<
cout << c1 -> cout.operator<< (c1)
ostream    -> ::operator<< (cout, c1)
cin >> c1
istream
cout << a << endl;
~~~~~~~~~
     cout

五、单目操作符
1)-/~/!
2)前缀自增减
++i
3)后缀自增减
i++
练习:实现一个3X3的矩阵类M33,支持如下运算:+/*/+=/*=/取负/前++/后--/<<
1 2 3   9 8 7   30
4 5 6 X 6 5 4 =
7 8 9   3 2 1
9+12+9

c++ 05的更多相关文章

  1. Java学习笔记(05)

    目录: static的用法 主函数的定义 增强for的循环 单例设计模式 封装 一.Static的用法 1.对象的内存分析 对象的引用变量是存在于栈区,而在堆区开辟了一块内存空间,调用对象给成员变量赋 ...

  2. iOS系列 基础篇 05 视图鼻祖 - UIView

    iOS系列 基础篇 05 视图鼻祖 - UIView 目录: UIView“家族” 应用界面的构建层次 视图分类 最后 在Cocoa和Cocoa Touch框架中,“根”类时NSObject类.同样, ...

  3. 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)

    版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...

  4. javaSE基础05

    javaSE基础05:面向对象 一.数组 数组的内存管理 : 一块连续的空间来存储元素. Int [ ] arr = new int[ ]; 创建一个int类型的数组,arr只是一个变量,只是数组的一 ...

  5. 异步编程系列第05章 Await究竟做了什么?

    p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...

  6. javascript基础05

    javascript基础05 1.变量的作用域 变量既可以是全局,也可以是局部的. 全局变量:可以在脚本中的任何位置被引用,一旦你在某个脚本里声明了全局变量,你就可以 在这个脚本的任何位置(包括函数内 ...

  7. Linux 第05天

    Linux 第05天 1.连接到Internet 1.1 配置网络信息 dmesg命令————查看网卡信息 dmesg | grep -i net ifconfig命令————查看IP.网关等相关信息 ...

  8. 05:统计单词数【NOIP2011复赛普及组第二题】

    05:统计单词数 总时间限制:  1000ms 内存限制:  65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次 ...

  9. sublime text 3 license 2016.05

    补充:2016.05 最近经过测试,3个注册码在新版3103的sublime上已经不可用了. 现补充两枚新版的license key: -– BEGIN LICENSE -– Michael Barn ...

  10. 驱动开发学习笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇

    驱动开发读书笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇 下面这段摘自 linux源码里面的文档 : 内核版本2.6.22Doc ...

随机推荐

  1. Html.DropDownList的用法

    直接上代码 页面代码 <td> <%= Html.DropDownList("selCity") %> </td> controller里面的代 ...

  2. poj2823:单调队列入门题

    今天学习了一下单调队列这种数据结构,思想不是很难 参考资料:http://www.cnblogs.com/Jason-Damon/archive/2012/04/19/2457889.html 然后自 ...

  3. poj 2010 Moo University - Financial Aid(优先队列(最小堆)+ 贪心 + 枚举)

    Description Bessie noted that although humans have many universities they can attend, cows have none ...

  4. Javascript:一款简易的图片切换插件

    最近迷上javascript,每天不写点什么都不舒服哈~ 尽管自己能力有限,还是尽自己所能写点东西出来. 实现效果: 效果预览:http://codepen.io/anon/pen/BNjxXj 该插 ...

  5. POJ2151Check the difficulty of problems 概率DP

    概率DP,还是有点恶心的哈,这道题目真是绕,问你T个队伍.m个题目.每一个队伍做出哪道题的概率都给了.冠军队伍至少也解除n道题目,全部队伍都要出题,问你概率为多少? 一開始感觉是个二维的,然后推啊推啊 ...

  6. XMPP通讯开发-服务器好友获取以及监听状态变化

    在 XMPP通讯开发-好友获取界面设计   我们设计了放QQ的列表功能,这里我们获取我们服务器上的 数据. 这一部分知识我们可以查看smack_3_3_0/smack_3_3_0/documentat ...

  7. Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/18234477 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工 ...

  8. 初探HTML

    就在今天我抱着试一试的态度稍微看了下HTML5, 尝试着接触一点新知识, 虽然学的并不多, 但是还是异常的兴奋, 感觉有好多东西和之前的不一样了, 包括控件的创建和一些属性的设置等, 总之这些变化与改 ...

  9. Linux查看系统状态及备份

    1. 如何看当前Linux系统有几颗物理CPU和每颗CPU的核数?cat /proc/cpuinfo将CPU的总核数除以物理CPU的个数,得到每颗CPU的核数.2. 查看系统负载有两个常用的命令,是哪 ...

  10. 模型 Model

    模型层包含所有视图或控制器不包含的应用程序逻辑 模型应该包含所有应用程序业务逻辑和数据库访问逻辑 主要部分 bll和dal 例如,使用ado.net或者ef5.0访问sql数据库的代码