QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5529|回复: 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.h2 u6 S5 k* c/ a) U& f5 `4 c( J
    #ifndef _HANDLE_H1 H- F1 Y$ J1 `0 @5 \  H$ q
    #define _HANDLE_H1 h! T6 N! g. n) f
    9 ]5 c! Y, I* {9 ^
    class Handle{
    3 [5 C" w8 |1 t    struct StackOfInt;/ r# B7 h0 n8 j+ L
        StackOfInt* smile;
    , E0 Y- ~. E- w, t" A& J' mpublic:( L( F3 f& Q8 L2 ~8 T" @3 c
        void initialize();$ ?7 [5 D& [. m/ F* n% R7 ~
        void cleanup();
    / J$ ]1 p: t0 r0 N( h; i    void push(int elem);
    $ H7 [% W& P3 a% I    int fetch();
    + }4 z9 q, {1 j6 I* @) I! ]+ t: ~! r    int pop();
    * U6 ~- c2 i- ]. E+ E    int count();
    2 E4 O& Z& C% C/ [7 L' L. F};
    2 o! q" A3 E- c" d1 D, V- B/ K
    9 {1 d: ]' i5 [#endif//_HANDLE_H
    0 r) V9 G" z; D) f  [+ r( Y( v: U: D
    类class的函数定义( U/ K4 F& x3 ^: X0 m7 I
    #include<iostream>, ]1 j" G. T/ v! w* s
    #include<vector>
    3 n. z" d# h4 u# }#include "handle.h"
    1 E5 A. }" v2 f; R8 |8 lusing namespace std;
      d1 ?3 B" b# J' g# l% \1 y5 M" o+ y4 i* U
    struct Handle::StackOfInt{
    7 F- k! y% M: \# t. \    vector<int> top;4 v# |: W) a5 D; n, q4 L
    };
      n/ s  h9 {2 M% w, s' p1 Z& l. _, I: E* x3 v4 e
    void Handle::initialize()/ S9 a& [- N* D# L7 x* \
    {
    ( n. t: y$ L. y2 m    StackOfInt* smile = new StackOfInt;
    6 J2 @3 }7 c$ y& V+ y* K, f* I    smile->top.reserve(100);$ j. P; V! p- E0 X5 [  i3 i3 f0 w
        cout << smile->top.capacity() << endl;
    " b/ e- x$ O, e. j2 E) b$ n" t}
    ( g" |- l& v/ |# t/ i: }  u$ k
    $ f! T: B; a' o0 B5 Fvoid Handle::cleanup()
    ; z2 Z7 v2 j: L  E3 U; K{1 ^2 Y9 E' O. |' N
        delete smile;. m2 R% c5 _  P0 h8 S
    }
    : a! m8 ?0 D0 {3 i" G, I# a* @' h8 G9 `! t5 E4 ]. J
    void Handle::push(int elem)4 E6 Y: T& b' i+ U
    {
    % b4 K9 ~- e" R. ?    cout << "before push\n";
    + }$ A" J2 p" c! e0 Q: ~    smile->top.push_back(elem);0 Z& F2 @- g, B7 g, ~9 }# e" z
        cout << "after push\n";4 A. b% p2 T0 J4 X( f9 k
    }
    7 P- H) @! N9 [! }9 rint Handle::fetch()0 R( F7 t0 o6 @- E* c, i
    {
    4 T4 A/ V  J5 o0 o% K    return smile->top.back();8 r  @# ]2 G1 x# I5 ^
    }* h  c, ^9 u' y  a
    int Handle::pop()& h6 i0 O: P7 V' ?% w
    {
    * q0 O: F6 h: _1 I& V1 ^    int n = smile->top.back();2 O. b1 X; w+ k% r7 L
        smile->top.pop_back();
    4 z5 S2 ?" _, O* b1 y    return n;8 Q# ?6 b9 |% r0 O0 I& m: _' }
    }( d, o, ?8 D( P& G& C+ T& h
    int Handle::count()8 f6 b8 A* S. y3 G& u$ X
    {
    3 w' O' b; f( n* M- x    return smile->top.size();
    6 q3 U. U0 c( Q) n}3 J8 C7 M% j9 Z* I$ _
    . B& \) R: E, c$ \/ A
    主函数 main.cpp
    * [5 }( k7 R4 c3 O#include<iostream>
    4 V6 T. r! N% ?# z" q#include "handle.h"0 ?2 T1 {$ ]7 b' |' ?/ Z
    using namespace std;. j  t9 ^! j6 V2 t) P
    4 _" B* b/ }' A  v% A/ d' X  f
    int main()7 F; B/ j( b2 @1 A6 ^. Y! y
    {% p0 k2 x: E0 B. ]) [
        Handle h;0 C+ v. L1 W6 S/ v) k: n& R
        h.initialize();% K4 R" H$ p& ~
        for (int i = 0; i < 10; i++)9 I8 t$ e0 n/ G5 X
        {
    , Y9 C: @# G' O        h.push(i);
    * a- ^* V' Z5 M# U1 \- S& M        cout << "last element is " << h.fetch() << endl;4 Y5 C; T) S3 \2 z6 [( D
        }
    ) W1 y4 p0 z! e1 U/ n, f+ B5 c    for (int i = 0; i < 10; i++)% Y4 c) X' U+ _- M6 V  Y
        {  T. Q  v% Q% F3 `! H
            h.pop();
    ; S* E$ p& L. X    }
    ! O/ p- W# \: J  N- }
    : `: {# \" X9 Y- Y+ B    return 0;- D/ c% f1 D$ L. P1 ~& m
    }0 ~: a  }& ?4 s3 c
    . o$ P. c: A- Q0 c4 J, ]* ?7 M" R
    ! x+ C. G7 k) k
    0 m3 U8 C2 o5 X& b: b! n$ q, U
    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-4-10 08:02 , Processed in 0.437205 second(s), 57 queries .

    回顶部