QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5576|回复: 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.h5 i5 W* ~" h" N# [
    #ifndef _HANDLE_H
    * D" u8 ?6 j5 T9 N; y  V#define _HANDLE_H) \+ y# |0 t, ~& K
    ( c% B, j' H6 [9 e* N+ \; x: n
    class Handle{
    8 |, [/ }6 X% a$ E    struct StackOfInt;
    0 c; I* `, A0 {  T2 ]    StackOfInt* smile;/ o8 n% y: P0 m9 D
    public:
    ' \) G- B0 @; c4 G    void initialize();
    $ U- K7 S) J2 F# _: x    void cleanup();. U; o* S& z5 U7 B6 n' @% U
        void push(int elem);
    # V4 T3 I2 T0 i9 z9 V  q2 [    int fetch();
    2 v9 k- v7 k4 T    int pop();, f/ G1 U9 {# |3 b
        int count();
    : t- t. b2 l' ~' t};
    $ O# N1 P3 U3 B5 I' i8 S1 y5 i4 Y6 U% f" t% _
    #endif//_HANDLE_H. H% X7 t/ Z3 h9 Q" f

    7 m- M5 {: u+ z类class的函数定义
    3 ^" T& {' @4 F: [0 k4 \' _#include<iostream>& x; k+ W2 Q0 t/ ~: j: K/ V9 [
    #include<vector>" K% C% z0 w/ K
    #include "handle.h". \( j# \& V+ q
    using namespace std;: M& U1 C0 i1 D  k: @

    * s9 ^# X" R2 J, ystruct Handle::StackOfInt{
    * l( z% ]0 |1 S! C    vector<int> top;
    8 k4 y) I$ P4 U8 M' J};5 ~. b$ v* j3 `4 G

    * a1 E/ y" H9 a* V8 ?/ Q7 Lvoid Handle::initialize()
    ( T- `! f2 g3 M: |4 V{
    : x6 m. Q9 }+ _7 ?: ~    StackOfInt* smile = new StackOfInt;
    " T4 ]  Z& i. P$ _1 [    smile->top.reserve(100);
    # z" Y: g$ F6 Z- @4 h. ^# {    cout << smile->top.capacity() << endl;
    9 `2 R- f+ m) {0 U; x4 n}
    * N' |  b1 ^$ b: ]( r+ I' K: `5 v1 b' J0 `/ p6 Q/ U7 P
    void Handle::cleanup()
    " N( \$ p; N9 B: g% D{4 J8 M4 X0 N! ?: e1 a8 e( h0 f
        delete smile;
    ) {- P1 Z( ^" R9 t& b+ |& f}
    ' j4 O4 s6 w3 q, `$ {1 j( E
    # {8 [# }4 i/ b4 j/ r* Hvoid Handle::push(int elem)
    ) e8 V7 I% ?" L* G{- P4 ^! R+ `) l# x
        cout << "before push\n";2 o) C8 ~* o( }$ \
        smile->top.push_back(elem);' ~" ]' G; [" h0 m+ m  J  P
        cout << "after push\n";
    : `$ w* p# ?7 D+ [}& q/ B  O" z2 c1 p" D0 ?. k; G+ P
    int Handle::fetch()
    1 X' i& i& ~; i0 h0 c7 X0 N4 H{
    * |7 r) X4 M9 M3 R3 T2 n$ M  b1 h    return smile->top.back();7 x8 W2 ^9 P, y7 Q+ e% O
    }  Q! u3 T: E) i6 C' H
    int Handle::pop()
    ' o  x4 ?- [2 t; z3 J- P# ~{9 G  j9 ~9 {& g. X
        int n = smile->top.back();0 K- S! Q0 y. }- k' J7 A
        smile->top.pop_back();) W$ b0 r. e+ @5 m. s( \
        return n;/ c5 T$ [$ M1 y- ^1 Z2 W
    }
    % f9 P# P! Q+ w9 E" E' V7 l7 a/ Zint Handle::count()
    . }1 Y. l, G5 t$ c/ c* X2 l{% c; C1 D6 M2 h) e7 i
        return smile->top.size();; h. g3 U: q1 R" e  A/ \. V9 A" y
    }
    * o* R# A, q1 D+ `, j1 ^6 I6 l8 Y. i7 K+ }; G6 R+ T+ G
    主函数 main.cpp6 c4 D, w8 B8 @
    #include<iostream>
    # C4 `! A3 Q: U7 ^#include "handle.h"
    9 j( U' ^# \( c' y0 ]" zusing namespace std;( A" J8 ]: B  P% a; n& L& i
    8 P' P: d$ _- e3 m, d, E& M8 ]
    int main()
    4 G4 J, K1 k1 W* X! |5 v% `{
    ( h3 w, r" ?, M% S, w/ u5 C7 U    Handle h;1 s9 t0 k& H" O$ B) s7 W
        h.initialize();( `3 g7 m8 R9 Z% O- F$ l
        for (int i = 0; i < 10; i++)
    9 q0 s! T9 f- R$ U4 b    {, `* s/ V) |2 l& f* Z# p! \
            h.push(i);0 B+ }4 m9 j! u2 f4 e( X8 H
            cout << "last element is " << h.fetch() << endl;  Y) o* `$ t( L( }5 w( r; l' y
        }2 Q; a$ S$ O! C* t# x
        for (int i = 0; i < 10; i++)( `. b* D0 |  |$ r3 o
        {& s2 C" H! r1 A* \5 S0 G! S
            h.pop();$ R4 }( Z% t7 k7 V5 [# h* a
        }) x4 u) G( z$ V1 V! O6 ?* k2 n
    0 N  R) s0 f/ X/ Q
        return 0;
    5 }; w: Q3 Z1 P2 I0 f( q}. A1 {. f& v/ m6 S

    4 u5 @4 K( B5 H% Z6 P
    ( u+ |+ i2 r4 e2 D
    / R) L4 ?# n) E9 f- N4 \
    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-6-14 13:45 , Processed in 0.458289 second(s), 56 queries .

    回顶部