QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5717|回复: 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. V4 J3 m3 u, H7 ~* U
    #ifndef _HANDLE_H( M+ b6 f& C) Q3 a4 E- q
    #define _HANDLE_H
    5 S6 q" Q; W# k+ |) u6 x6 O. D3 I5 A2 A, G- s$ q# Q
    class Handle{
    % {1 h% f7 m4 g# i* ]# a8 u% W    struct StackOfInt;
    : K! ^+ w! x3 w6 K' ^/ h    StackOfInt* smile;& j# v& l' T& F3 D- q
    public:
    8 y+ T% y0 P2 y    void initialize();' @0 v, Y! O7 r) i2 M
        void cleanup();9 U) I) S/ l9 m% T# s
        void push(int elem);  O, i; M, N6 n# T
        int fetch();
    2 h7 h; |  \2 j- Q: c1 b3 [    int pop();/ P8 _1 `/ D( m6 l0 T
        int count();$ i6 A& f9 u+ C
    };4 J9 t+ A* k: X  ]0 A: B

    * v7 J% u' a* t" g+ t3 k; e#endif//_HANDLE_H* C" G2 ?# U' A
    1 W! x# ?! l2 d$ q7 L$ j1 ]
    类class的函数定义3 b( Q7 s% @, D) I: d) q' ?
    #include<iostream>
    * L) z6 |. n* H" A#include<vector>: F1 ^4 n3 g" Y- y# Y& P* D1 C
    #include "handle.h"
    : X- |+ y; ^( x; n" musing namespace std;
    5 d* T9 [, Q5 T+ L2 }8 @% z
    * S' ^' j3 `& F. A5 j: U/ i8 \struct Handle::StackOfInt{
    , c$ H0 H. R; d. i( Y1 e    vector<int> top;
    4 k. B( v& B7 u1 z- N1 Z% f  h};2 D. S8 M' c$ g% j, N9 P' v, U+ q
    ; Z+ R0 X4 A! G) P0 a
    void Handle::initialize()
    ' ~+ _* a) V8 z, y+ `5 n5 ?{- l+ \7 ?, B8 u0 K+ ^1 F. _
        StackOfInt* smile = new StackOfInt;8 X+ p$ e; o5 E* @" H
        smile->top.reserve(100);9 K- Z% k3 e2 n% P# Q& F( v
        cout << smile->top.capacity() << endl;
    . w% i: {) o; o& R}( ^4 [# m# }& K

    % J5 P, p5 }, e: N1 X" {/ Rvoid Handle::cleanup()
    - ~4 `" H% E' g2 b9 s{
    ( d7 P" E* N( i9 e    delete smile;: x# w  ^2 A# w2 e
    }% I* i2 ?9 T0 \8 z) u( c% F' s) Z

      o# l5 j' v+ s' O) t0 m! gvoid Handle::push(int elem)
    5 Z( R7 M- Z* X- j4 ?, y{  y4 h( N; O$ e9 e" T
        cout << "before push\n";. j2 c" ?8 x4 g/ A* l: H1 l: s4 D
        smile->top.push_back(elem);
    , H( w7 x# w9 t3 ~/ h. l6 N5 J    cout << "after push\n";, Z5 [0 Y( I$ O: Z
    }
    ; ]  D. v, o2 b- u; g! m  kint Handle::fetch()0 Y: k! c7 G: K" [, I
    {
    9 z7 @2 e# x; I3 ]4 |/ d! V    return smile->top.back();
    2 m! ^; ^5 P# w" x8 B}
    / T  q9 h* M, @& G' I; uint Handle::pop()2 j3 Q$ B0 @' [: F3 K* u
    {
    * t  A% q- R$ [' y1 \. y8 u    int n = smile->top.back();
    ! [$ `. T( {& C    smile->top.pop_back();
    " e' L- A- p& I; @! c" B. C5 v9 n    return n;
    8 }5 a2 R6 E1 {+ F( F}
    - H9 V; O. q$ A- [int Handle::count()
    9 }& n2 c! E7 y" h5 F) A) e{
    0 O2 k1 Z7 M! J+ l7 @+ N    return smile->top.size();. d5 A% z- K4 k# v
    }6 g+ {4 q9 n) c3 O

    & P! g' i+ B- p; i/ `" D5 j* O主函数 main.cpp
    9 t& T& _" w6 D7 ?5 L#include<iostream>
    9 Y8 D0 D) d0 P  j#include "handle.h"
    + D. T" y# E  a' c+ dusing namespace std;/ p7 l8 F+ o9 j; h4 c) m
    # N4 G: C- c- u3 L
    int main()
    3 U# l1 Y! |3 [  b* r{& f# U' c8 Q! u  B3 _: V
        Handle h;
    3 f! x: `# ?# {9 \- I    h.initialize();. t* D1 {: H4 C" q* x! ?
        for (int i = 0; i < 10; i++)) W% N& a, j4 o" X" r6 n  y
        {) v  {8 k! F3 U( V# {7 \* L& R
            h.push(i);  p0 d* b: ^' n8 ]: b
            cout << "last element is " << h.fetch() << endl;' U: w9 E% h: G
        }
    ( R" G! g7 p7 K7 Z! e; [, i2 U# P    for (int i = 0; i < 10; i++). f: a& i( c0 D4 }3 r4 O& ~. ?
        {2 c; C  O1 x1 c+ U8 c
            h.pop();
    0 @! S- m& A4 p0 ~2 s9 G" H+ d    }
    5 E+ r) B3 a3 `
    . Y2 k5 @( t7 W2 L( U/ k: P    return 0;
    + M0 A$ Q( C( o3 n}& p1 p, ]# G! i2 \) s; x

    2 q/ T8 S, F! r0 M. V% A. x- ~" Y9 z
    1 o" a/ ?6 a; Q3 v
    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-17 07:48 , Processed in 2.779639 second(s), 56 queries .

    回顶部