QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5708|回复: 1
打印 上一主题 下一主题

vector调用push_back为什么会失败?初始化了也不行

[复制链接]
字体大小: 正常 放大

16

主题

9

听众

31

积分

升级  27.37%

  • TA的每日心情
    慵懒
    2015-4-30 14:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    自我介绍
    拉拉
    跳转到指定楼层
    1#
    发表于 2015-4-14 10:06 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    头文件handle.h
    3 Q( ~- u# P" g/ s* W0 A#ifndef _HANDLE_H/ T: h3 H* `3 B9 l* I
    #define _HANDLE_H
    & c. u3 Z  z/ ?+ x, F
    ) s1 l. T# l  S/ N9 ^$ @class Handle{' Z5 a# Z  \! e# c$ {8 x  N8 C) J/ i( Z
        struct StackOfInt;3 I) c( x7 G; I5 e: k  p  X  ?
        StackOfInt* smile;
    9 {, R: F5 x( ^+ Mpublic:
    6 O/ _, d8 Y% S% h4 O1 a    void initialize();
    0 T# ?3 {2 \* O) p9 Y5 N: D) F    void cleanup();8 d* ^9 K* G% ]2 u# c. E
        void push(int elem);8 d: F6 t7 L" p5 u, N& e
        int fetch();
    / V6 j3 V/ H% ~7 s1 M    int pop();
    ! m( P. H, A9 p$ G6 w    int count();
    & g9 e7 b& a. C( l};9 ~% o5 l& G- i% Y
    % i) [9 V3 P# i% u- x
    #endif//_HANDLE_H
    9 ?; g( Z7 Y( e2 q& K2 h0 Z4 t% O+ J. r5 P' b: U
    类class的函数定义
    5 e5 G6 i) E7 T8 Y2 j( t' v! \#include<iostream>, R9 q: f5 Z8 b; ~# `1 V
    #include<vector>
    $ q- r2 X: f6 i! S0 z#include "handle.h"; {8 j8 Y5 x5 i& _7 J; Z! ~. ~+ J
    using namespace std;5 S& h) |) w1 @( F  h6 y

    . N# n" r: M. U% |, F9 xstruct Handle::StackOfInt{$ ]1 T  F- n9 ]. _3 O& ^
        vector<int> top;1 @- U% B; {' R
    };
    ) e) }& j9 z5 a. n
      Q) d7 J0 X3 G4 vvoid Handle::initialize()( V: X" ?. O1 ^
    {
    5 \' y, w& U/ {6 ]- f    StackOfInt* smile = new StackOfInt;
    , n) L4 @8 T$ ?4 W- x4 S    smile->top.reserve(100);
      d8 o5 E- y- t  L0 i2 d    cout << smile->top.capacity() << endl;! P0 y+ S" C  `
    }. Q& a- v2 {; }
    ( O: ?# V2 W9 Z
    void Handle::cleanup()
    2 [/ \% e9 ]& ~" n{9 J* L/ e# d9 k
        delete smile;+ H& P. s6 t& J) R, ~& m% I5 q- I
    }
    ' |' M0 m8 e) ~- l+ _
    2 S% p1 `# h9 z! j# v/ jvoid Handle::push(int elem)
    ! i( Z% k6 r. `( V{: r. ^; h/ f8 r1 l' u- o% r
        cout << "before push\n";
    $ Y' B  |8 H. A. p& d; _    smile->top.push_back(elem);* }+ ?* S# B# K$ \
        cout << "after push\n";
    1 i1 ~, r4 ^& T& G1 W, {% D3 f}
    " E7 i- ^+ r& S: g, s5 wint Handle::fetch()
    6 x9 D$ D5 _- h4 R8 Z8 c8 V. h# O4 G{
    # x  j* q3 o$ ^" s    return smile->top.back();% o" [; i  f) i/ \% d% e- `; p
    }
      I# E/ F4 c/ }% Qint Handle::pop()% ]4 Z0 q/ @0 X5 z* S
    {9 I5 W; o+ A) D# e# N
        int n = smile->top.back();
    ! i' J  u! y. }" F- B    smile->top.pop_back();
    ' @2 l% A* ^' Z! j2 F    return n;
    ) I- i! Y* }/ U% E7 D0 r! |/ q}6 P" O8 n5 b2 m: o6 i
    int Handle::count()1 M1 r$ A# h! ]
    {# y2 ^! R" i/ @
        return smile->top.size();/ g% X( l5 r- M7 V5 v/ C
    }
    ) E6 o8 k0 X6 Y$ E& v- l
    " h6 i* {: O' ~0 R主函数 main.cpp" k& l; {0 V+ D) O/ @
    #include<iostream>7 V) y. b) d: s5 I% W
    #include "handle.h"! U4 d/ |: U+ e4 V
    using namespace std;
    7 t9 ^% I7 a! f; e$ o7 ~. ?( |! y
    5 b1 J7 f5 W- g: x3 y3 _7 j, P2 X) Eint main()
    9 O. e4 O% Y: R" ~; a0 Q{
    ) ], A+ J( U3 o9 X5 Y7 h    Handle h;( H2 G! m: P  h3 u# S* S5 v* \1 a
        h.initialize();9 z, L- O) D! L, @8 R8 z) S
        for (int i = 0; i < 10; i++)
    % O* {; [7 d  P2 s9 c    {* S9 r# N9 `0 l  x& O, V  L) @! r9 T9 ?
            h.push(i);
    + N% J0 Q: T& U8 I' U1 C6 u        cout << "last element is " << h.fetch() << endl;2 e' F) i+ d3 O! S8 S! T
        }
    $ Y7 }' C8 I' K0 \4 `9 I5 x    for (int i = 0; i < 10; i++)
    & S7 P# f  {  |6 h) A    {0 f! V3 }; d  P8 a2 Z
            h.pop();- O( ]7 L) P$ ]! O; S: V1 B2 U7 y
        }
    1 e3 k$ Y1 K( h
    0 ?8 ^8 Q3 s7 i    return 0;
    9 w/ ]/ k( C. K% K& v6 }! }}" d! \, k8 a( F3 }, F

    1 W" y4 i% \  \  C: {6 W
    $ t( Y! Y& x7 w
    3 e, q7 y+ l- p# s- O! A5 B+ K) e
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    342

    主题

    41

    听众

    214748万

    积分

    升级  0%

  • TA的每日心情
    擦汗
    2015-7-24 10:40
  • 签到天数: 37 天

    [LV.5]常住居民I

    社区QQ达人 邮箱绑定达人 元老勋章 发帖功臣 新人进步奖 优秀斑竹奖 金点子奖 原创写作奖 最具活力勋章 助人为乐奖 风雨历程奖

    群组: MATLAB的工程数学应用

    群组: SAS公益讲座

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-10-10 03:22 , Processed in 0.852243 second(s), 57 queries .

    回顶部