zoukankan      html  css  js  c++  java
  • “static和 friend友元 的一点调试体验” 博文中提到的测试代码

    OperatorEqual.h
     1 #pragma once
    2
    3 class OperatorEqual
    4 {
    5 public:
    6 OperatorEqual(void);
    7 ~OperatorEqual(void);
    8
    9 public:
    10 int _index;
    11
    12 public:
    13 OperatorEqual(int index) : _index(index) {}
    14 bool operator==(OperatorEqual& rhs);
    15 };
    OperatorEqual.cpp
     1 #include "StdAfx.h"
    2 #include "OperatorEqual.h"
    3
    4 OperatorEqual::OperatorEqual(void)
    5 {
    6 _index = 0;
    7 }
    8
    9 OperatorEqual::~OperatorEqual(void)
    10 {
    11 }
    12
    13
    14 bool OperatorEqual::operator ==(OperatorEqual& rhs)
    15 {
    16 return _index == rhs._index;
    17 }
    ContainOperatorEqual.h
     1 #pragma once
    2 #include "OperatorEqual.h"
    3 #include <iostream>
    4 #include <vector>
    5 using namespace std;
    6 class ContainOperatorEqual
    7 {
    8 public:
    9
    10 typedef OperatorEqual iterator;
    11
    12 ContainOperatorEqual(void);
    13 ~ContainOperatorEqual(void);
    14 friend class OperatorEqual;
    15
    16 public:
    17 OperatorEqual begin();
    18 OperatorEqual end();
    19 void push_back(int value) {_elems.push_back(value);}
    20
    21
    22 private:
    23 vector<int> _elems;
    24 int _beg_pos;
    25 int _end_pos;
    26
    27 };
    ContainOperatorEqual.cpp
     1 #include "StdAfx.h"
    2 #include "ContainOperatorEqual.h"
    3
    4 ContainOperatorEqual::ContainOperatorEqual(void)
    5 {
    6 _elems.clear();
    7 _beg_pos = 0;
    8 _end_pos = 0;
    9
    10 }
    11
    12 ContainOperatorEqual::~ContainOperatorEqual(void)
    13 {
    14 }
    15
    16 OperatorEqual ContainOperatorEqual::begin()
    17 {
    18 _beg_pos = 0;
    19 return OperatorEqual(_beg_pos);
    20 }
    21
    22 OperatorEqual ContainOperatorEqual::end()
    23 {
    24 _end_pos = _elems.size() > 0 ? _elems.size() : 0;
    25 return OperatorEqual(_end_pos);
    26 }
    Main_File
     1 // TestOperatorEqual.cpp : 定义控制台应用程序的入口点。
    2 //
    3
    4 #include "stdafx.h"
    5 #include "OperatorEqual.h"
    6 #include <iostream>
    7 #include "ContainOperatorEqual.h"
    8
    9 using namespace std;
    10
    11 int _tmain(int argc, _TCHAR* argv[])
    12 {
    13
    14 ContainOperatorEqual coe;
    15 /*coe.push_back(1);
    16 coe.push_back(2);
    17 coe.push_back(3);*/
    18
    19 ContainOperatorEqual::iterator iter1 = coe.begin();
    20 ContainOperatorEqual::iterator iter2 = coe.end();
    21
    22
    23 if (iter1 == iter2)
    24 {
    25 cout << "yes" << endl;
    26 }
    27 else
    28 {
    29 cout << "no" << endl;
    30 }
    31
    32
    33 OperatorEqual oe1;
    34 OperatorEqual oe2;
    35
    36 if (oe1 == oe2)
    37 {
    38 cout << "yes=====" << endl;
    39 }
    40
    41 return 0;
    42 }

    “static和 friend友元 的一点调试体验”文章地址:

    http://www.cnblogs.com/ziyoudefeng/archive/2012/03/18/2405082.html




  • 相关阅读:
    cf------(round)#1 C. Ancient Berland Circus(几何)
    cf------(round)#1 B. Spreadsheets(模拟)
    grep 精确匹配
    解决 service iptables save 报错 please try to use systemctl
    kubernetes 亲和性调度详解
    免费好用的SSH手机客户端
    axios和drf结合的增删改查
    CDH 部署 Hadoop:5.开始安装
    OpenNebula概述
    Python 3.x 引入了函数注释
  • 原文地址:https://www.cnblogs.com/ziyoudefeng/p/2405142.html
Copyright © 2011-2022 走看看