QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5617|回复: 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.h6 l( s1 l; O5 m+ }7 B" B
    #ifndef _HANDLE_H) Q7 m/ G) X# q; O
    #define _HANDLE_H* _" [9 a: Y& D! M% ?( Y
    " D5 x7 [4 O0 ^& \3 ~
    class Handle{
    / y4 x" s3 Z+ T; Z& Q    struct StackOfInt;3 n' J" |& O3 P7 L% X5 y5 A$ ~
        StackOfInt* smile;
    ! O7 j! t" D: Z! U0 lpublic:
    8 ~, V, ?$ O6 [    void initialize();2 e; q& q8 u3 J/ O, x! {
        void cleanup();
    ' r  V- C2 b, \3 o    void push(int elem);
    , ]. H) S/ |0 X, x; k    int fetch();
    ( i3 m* C; ~5 O, b0 t9 O    int pop();$ j% D+ p- F' {$ W- b
        int count();
    1 A1 f& w: ^8 X2 r( @) X: ?0 f};
    + l9 ^# V' _  L/ M/ k4 b2 R4 Y! j$ K* u& V! S9 _, ~" d5 I/ n$ s1 j
    #endif//_HANDLE_H, c  R9 k: k& b
    ! i) T( W: L: X: M$ _! l& M* [" i
    类class的函数定义% [  H1 F1 Q' a( |% W8 C" \
    #include<iostream>+ A6 z+ W, s' D& ^* U
    #include<vector>
    - d9 [" v% l5 }7 `#include "handle.h"
    ; y5 r! o) ~$ @7 S+ j) U8 Iusing namespace std;
    ' ~/ E( d, o9 Z: o( H  ?4 a8 L, K
    . _% f4 c7 ]; Ostruct Handle::StackOfInt{- ~0 ~' h& k+ v$ ^
        vector<int> top;
    8 j# x' W& p: a4 w1 Y};
    , m9 A( g7 ]# l7 A* f
    9 i( `0 U# L( f8 N' L1 D/ Ivoid Handle::initialize()
    $ q, x  U+ {6 C: w+ r{
    ' @. V: [0 ]. K    StackOfInt* smile = new StackOfInt;
    ; ^4 O3 ?& _/ o    smile->top.reserve(100);; _1 n; m# v% L3 }) b0 s  y
        cout << smile->top.capacity() << endl;
    ! e1 Q/ `0 \3 C9 t! u3 T# `}
    + f0 A! X( L) m8 o5 R5 i/ ^
    : S2 Q& @2 l1 q! Z- ?; f' gvoid Handle::cleanup()
    * T! }" C" B+ I. S{
    % o" h7 Q  ]1 S- q* P    delete smile;9 Y- j4 s& `3 K7 I& V8 K
    }( o; V, r* E' s4 b5 Y& q
    - B' R1 `0 E  L+ S
    void Handle::push(int elem)
    7 s9 _5 ^4 j+ V' k6 T+ z6 X3 j{
    9 S" {- B- e" B$ m9 K" v    cout << "before push\n";7 N2 {+ [7 O- d/ Z! P1 L
        smile->top.push_back(elem);
    ' k9 d' ^+ C$ v) x4 P    cout << "after push\n";* t0 U7 m9 S8 E9 M; ?
    }
    8 Q! N' I: L% M: K6 p* q0 s- B. Q4 oint Handle::fetch()1 K% k2 S7 m6 O! Z
    {
    ; Z# V4 t* `( K2 C. g" f    return smile->top.back();
    + ], ~2 i# b" [; {1 l}) h% G1 J+ e9 e
    int Handle::pop()1 C& A8 Z% ^* @4 z: ^
    {
    # O' o8 y* D! }# w7 s1 F2 o0 Z5 J; D    int n = smile->top.back();( d9 j& i) g' A
        smile->top.pop_back();/ C5 \  X2 n0 V# [: [
        return n;! w& K8 r7 E* n1 M4 @$ \: t
    }
    / K% o- j' r( [1 D1 V" g1 Xint Handle::count()
    9 Q  v* z- c  \5 H0 F! q( z" x{. y; c, z1 m/ K' u
        return smile->top.size();! m- O* N' E$ m' ?6 @5 M7 ~" o, i
    }
    2 w8 `0 K- n0 {0 j2 g- W8 f1 v1 X. `. K
    主函数 main.cpp
    & {: W% |% p* ?, t0 O#include<iostream>
    7 |7 e% {5 U# _  z2 w#include "handle.h"
    # c! _: G* e$ E( [% ]5 B; ?% q, T3 ?& Uusing namespace std;$ I2 n4 c: ~; U

    % e  M1 U7 x/ X5 ^& p0 T6 ]int main()
    $ T- H- o* q2 |  O& `) ?: i8 T{/ c+ @- O8 G* p2 ]
        Handle h;
    # Z. A  Y( z7 ^) `  B    h.initialize();8 C! ^0 K0 s) o4 m5 z
        for (int i = 0; i < 10; i++)
    3 v) L+ v5 V+ j% p/ p6 F) C5 Z2 b    {6 g; f5 e# e$ X9 z( J
            h.push(i);9 B" V& n* ?/ v0 a$ Q5 \2 ]
            cout << "last element is " << h.fetch() << endl;
    " h" A0 P; j, q. @/ `" c    }
    , F* c, w5 M5 H6 `' w    for (int i = 0; i < 10; i++)
    ) J6 ^4 t6 ]* l    {' c* x4 \( m/ a6 b$ e9 }- p: N1 Q
            h.pop();- ]0 v) c. \7 A- e0 h/ }
        }
    7 @) s2 s% i. G
    4 A) X; j7 O4 W8 R    return 0;
    2 O  G3 S' u( ?$ X3 ^}
    ) N! W1 j$ O* W4 U' _% i
    6 ?& ~5 H' e/ @- g; H: Z) E. R8 N6 i$ A4 C
    + Z6 ?# w7 w6 m5 }  \3 w. u; n& ?
    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-7-31 19:53 , Processed in 0.662105 second(s), 56 queries .

    回顶部