QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5527|回复: 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& V! n- b, Z3 }1 }
    #ifndef _HANDLE_H
    % D3 F3 V) l7 Q1 ?6 l6 W#define _HANDLE_H: j( K* a6 h5 b. i6 F

    4 m/ G( ~7 ~- E. k3 J( Bclass Handle{& v- Y3 a& Y8 V; \  Z6 V2 u7 m
        struct StackOfInt;6 D9 w! c! x3 f  f6 Y+ ]
        StackOfInt* smile;
    ; ?; v' j9 m6 d! z" Jpublic:& f" r- e+ O3 C
        void initialize();
    3 Z/ K6 O8 x' n1 ?    void cleanup();  ^$ ]3 n. D4 g3 H' `" S" }9 X. ]
        void push(int elem);
    , A$ ^8 A8 ~, x3 |( w' J- }    int fetch();, U5 z. L' ^5 v% U8 ~  f7 q
        int pop();
    ( m: o2 K. Y' K) Z0 @3 Z    int count();- |2 {% s0 j2 ]8 J  h) \3 |
    };
    * w. q2 l) n0 Q3 p/ g5 [2 {7 P/ A9 k+ G$ C$ k' l2 H
    #endif//_HANDLE_H- E# I8 c) J1 Q6 I0 @) z
    ( v* ?, I' u; n& v
    类class的函数定义
    ; k3 ?  C1 b6 K5 |7 P* u$ T#include<iostream>
    " J  S; C2 D1 W; P6 h#include<vector>( h# N' y+ k- V; y1 P9 x/ |7 X
    #include "handle.h"
    ' c4 ^3 _) U$ s% c, k  i; cusing namespace std;0 {# F, H/ q: k. X: c

    6 F' k4 S5 q1 P3 X7 cstruct Handle::StackOfInt{1 `8 \7 P$ G  ^# H
        vector<int> top;- ~! `. ?8 ^8 u& J2 n+ W
    };% Z' Q  R% h7 L& W

    . K  d/ E& A* r7 Y# i% Yvoid Handle::initialize()  g' L& |4 F; Q# m: d, u2 Y
    {9 c( s% S' U& ]" }1 V2 O5 E# y1 B
        StackOfInt* smile = new StackOfInt;
    3 w% S1 a' k2 z' k' b. W8 T    smile->top.reserve(100);
    ; E* q8 m6 K" ~- s! F    cout << smile->top.capacity() << endl;3 {( N  T% ?( d! i
    }$ _  t0 f8 o' P' ^1 V! X

    - h, M3 g1 m9 ^6 Svoid Handle::cleanup()- x; m9 M, g' b3 G+ ~5 I
    {
    5 V$ u: |3 Z4 ~6 \" u    delete smile;
    + u# e4 |0 E- k. `% I% F5 r- a}- G5 P6 q7 W# R
    . ~8 V* f% u* K! b0 U8 z
    void Handle::push(int elem)
    , v. S- E6 m' {; b( M1 j{3 l2 ^& t( r: f2 a- @
        cout << "before push\n";. l* b& a  V3 q2 ?( l  n$ ]
        smile->top.push_back(elem);
    8 V- J! j) q9 Q* A    cout << "after push\n";6 y# S% M& m  Q! S8 Q+ ]
    }
    2 M' P* G/ @6 I4 F) v3 lint Handle::fetch()
      m3 E* U7 ?1 G6 r{& G( F! t1 q$ v+ i. |4 K, k
        return smile->top.back();% g* h% m! n: A' A& w  v
    }
    " i9 T  [' q% a" Gint Handle::pop()
    + p; i& |  l. U* @' H+ E{: m: B& H5 g9 ]& {  }
        int n = smile->top.back();
    ( I; c% A( B1 H) t: i    smile->top.pop_back();
    " v; S8 ^& W# q/ B9 ?    return n;5 J. _, q1 a2 B# p! w! w6 F1 s2 l
    }
    ( ^; W( S) Z1 o7 P7 O; s/ W, ?2 J8 ^int Handle::count()& {( P& s3 S3 L, w2 j
    {
    # n* S# A& Y2 T/ Z& Q    return smile->top.size();
    # }& j0 e3 v8 z* R% f$ e}
    $ O7 ?1 N. N  u: ~" T' x( ]$ Q$ R. A' z
    主函数 main.cpp' f6 p2 K( a; |* I5 x, z# B) B
    #include<iostream>
    ; u0 K0 r- g( `, ^$ ~#include "handle.h"+ e6 c. P1 k& F# c
    using namespace std;$ `+ _3 q% }0 P2 M6 B' ^

    ' m; M  o1 S) v$ V3 [; U/ s+ Y! zint main()$ c( \# u3 [* [
    {
    9 P9 w" Q6 l& Y9 Z    Handle h;
    . O" X2 q8 ?* T' Y* O    h.initialize();
    , Y1 P2 c; L! {5 B$ ]0 |    for (int i = 0; i < 10; i++)# J7 O( L; I9 ?( U# d' z7 w( j7 g* G" a4 S
        {7 S  T2 M9 {* d4 ?4 V3 M7 w
            h.push(i);
    5 l5 \4 ~! z# g4 \$ i' P        cout << "last element is " << h.fetch() << endl;% A, L! X- y) y7 O8 e6 @2 a/ f
        }! L# ~* q+ u& ?1 x2 w
        for (int i = 0; i < 10; i++)
    1 Z$ u1 f9 P( C    {4 G. C2 j( N. j7 I. r' \6 a7 j! n
            h.pop();
    6 _) i, D/ `9 O; p2 ^1 c: i    }2 \8 m: P! P, ?! G
    9 y0 n& z* r, `% @
        return 0;
    - {0 N2 `& P. u: [9 ~% b}3 T5 j  W: f8 L0 w
    ! E! K* b! d2 q& _: t; \- y

    # G, ]& K) B! C/ |4 f% ?: f7 ~  R% G' y! M0 F
    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 02:45 , Processed in 0.480110 second(s), 57 queries .

    回顶部