QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5701|回复: 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
    ! F+ @5 E" H. i& _, ~) `: C; |#ifndef _HANDLE_H
    * y# Z8 c; D1 [#define _HANDLE_H9 o' o( @2 l8 }0 T: F

    : ?- C' R. C* tclass Handle{
    * v& G8 F- H8 N! L) ^2 a% J8 @    struct StackOfInt;
    ) a( Z6 W' o; [$ v' E7 z, @    StackOfInt* smile;8 U+ D+ q' i) ~- s: l
    public:0 g3 I5 X$ `$ M9 ?$ Z
        void initialize();5 j4 z6 {) n* u* d$ |
        void cleanup();3 a2 v0 }' ]3 P2 K6 c
        void push(int elem);( t0 |2 r) v6 o4 M! Q+ P( ^
        int fetch();8 t) z8 r9 Q. s8 y$ A% V
        int pop();& m# r: D# Q, F7 j; D5 X# G/ N
        int count();
    ) d6 S8 R2 F' B};
    3 B- C& i2 ?- c2 ?3 }" Q. U0 F
    ' ]& }0 r$ w% I1 w7 L2 V#endif//_HANDLE_H
    7 B9 M; q6 Z  S5 ~; P+ X* Y- {
    8 L6 ~+ [; D; d+ Y$ a6 U8 H类class的函数定义/ B( N* U. d- a/ I/ b
    #include<iostream>
    3 f3 ?& [$ e9 T, Z( y% N#include<vector>
    . ^5 _# T7 e  P( L! Q#include "handle.h"5 b) K" ?. m5 j' d; M9 u
    using namespace std;# V9 I" ~. D. n
    0 e3 F- D  G1 P; a. r! X3 J
    struct Handle::StackOfInt{
    ; B. H# M% o5 ]4 l* b8 f2 r    vector<int> top;: v- {5 _( x* n$ F/ c. p
    };
    ( x3 [1 V3 L$ J! Q! u/ q( B7 c2 L8 R
    # x; z  v$ S" S9 J  xvoid Handle::initialize()
    - S2 l# \* c$ J{" b6 h' {. F9 E( C; W2 A
        StackOfInt* smile = new StackOfInt;0 Y! Q2 T' y9 \, R" y) ?, i
        smile->top.reserve(100);/ K. a# ^, u" G
        cout << smile->top.capacity() << endl;
    ) D( v9 ?6 J# R3 ]7 V. U# Q}
    4 t5 H; X4 c# M* V
    + V% _3 Y# J. X% H( q1 ]0 tvoid Handle::cleanup(): _) h. \. u0 {6 \
    {! B: l1 O/ F5 L4 G
        delete smile;1 u) c' n& Z8 O1 y" m
    }5 r7 E% e) X' M" D  d# v, G: i+ X
    % \. M. Q% t5 p
    void Handle::push(int elem)
    % L( s6 a- t9 o3 n1 x) i3 L{" s+ O; O# s9 ~+ V
        cout << "before push\n";
    ( D( k. G: ?1 @3 i& w% O    smile->top.push_back(elem);
    $ c0 ?, f- I$ j: j+ u& F  [    cout << "after push\n";
    ' U  \. b% o  O4 p: S}4 @8 {- w' A$ Q. n0 `
    int Handle::fetch(), i& T/ ~4 m; v% }8 \; R
    {
    7 r* F+ O: J( a. F" M  E6 f0 R    return smile->top.back();" s4 c7 K, a) E+ E+ y, E" k: S
    }, D. o' v" n% ^! }$ V' f
    int Handle::pop()  h1 v5 M. C# F- ~
    {
    : y( I0 t: z% z' b    int n = smile->top.back();6 J' D& _7 Q0 Q7 p, ?5 S
        smile->top.pop_back();, E4 k7 n" w* |6 k/ f
        return n;
    6 a" |: l' m. u' ]* K}/ t4 Z; \# j; U! Y( B) d: j- b
    int Handle::count(); t" S! d3 L- U/ R! A5 ^
    {6 G( c- V4 x: j. B' O
        return smile->top.size();/ e, v' `2 i% f% Y5 q, X' D
    }0 K8 P; ]' u& M& i
    & d' n# D6 e) [
    主函数 main.cpp
    * z- |7 D+ y* p7 w#include<iostream>
    6 c5 I7 H" a* r" ]- P#include "handle.h"
    - r' n0 b% \1 j2 N! N" Jusing namespace std;! N2 L; X' A$ b$ R, l) r, O

    ' }: O) J; W5 W  V9 ?& z% B: _7 R1 Yint main()7 ^, ^5 f% k  P3 i  n
    {
    8 @( E0 x5 z- z4 d' _- G    Handle h;
    3 B* N$ m8 ]* U% K1 Q. P    h.initialize();
    # s" ?% @. S& ?$ ]3 ?0 W1 l    for (int i = 0; i < 10; i++)- {& N9 A: d5 r* R2 f9 [, Z: A5 r
        {- C/ p6 |( \3 v3 q
            h.push(i);
    ' u, n" F# E% X% A        cout << "last element is " << h.fetch() << endl;
    $ d: ^5 ]9 M  V    }
    0 |3 X- {( R0 u; y/ k    for (int i = 0; i < 10; i++)4 }9 R0 c( a# M2 e" d! U
        {6 X* J; v& D& ?; J6 C2 G
            h.pop();
    - y5 z- ]; Z& C    }: @8 k, C# v7 G. D( ?. \, n2 T

    / j# K- y# M, x    return 0;5 `- X/ |0 ?7 c* S: D
    }
    " b* H$ c; \6 G  T( U- k. Y4 P/ O; [& i& n

    ' P# _1 g9 `) r& o8 n* W. |+ H# P: d) O7 a' X1 ^5 R2 \' ^9 J
    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-8 07:42 , Processed in 0.421082 second(s), 57 queries .

    回顶部