QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5622|回复: 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( a, T# d7 }& ?
    #ifndef _HANDLE_H5 L8 D3 U8 [# ?" `& H  U" f
    #define _HANDLE_H5 I7 X  N, A, [4 q7 F6 t% |

    + B  q$ _6 x2 W) C5 nclass Handle{. P& d1 M1 I8 u
        struct StackOfInt;: h% p; n3 e# O9 ~8 B  k
        StackOfInt* smile;
    6 N, O2 Z: G" K- J' _: Cpublic:
    " _3 P( p& ?1 M7 n% P    void initialize();' ~6 {$ P( G3 _0 O5 \# h+ _/ T
        void cleanup();& U8 F& d- E4 S/ f- }' L1 @. k. R
        void push(int elem);1 Q2 w8 m, B" k! z% E, Y
        int fetch();3 O& Z; b2 p/ W/ Q
        int pop();
    ! R& l  ]# _: L/ E    int count();
    $ v4 @+ e; @; u+ q" U};9 x& H4 G- o4 X9 o  L$ L& }
    7 C$ o1 Y/ `7 X
    #endif//_HANDLE_H
    5 @8 }. `% M; \7 U+ m7 D) t
    6 Q' H  B( p6 d2 C0 k; _类class的函数定义6 `+ W9 r% g  q5 i# q5 n( f+ X7 K
    #include<iostream>
    0 n5 T" a4 L- E6 B6 Y- q% R( y' q#include<vector>
    ! f  }7 ?3 Z, q5 ^: w#include "handle.h"
    : C& V0 H( W8 y5 ?* yusing namespace std;
    ' a. ^: P) D; O: g7 Q: h  y+ n: U- a: G1 B/ H
    struct Handle::StackOfInt{
      S; U8 l# }2 ^& b, j, n    vector<int> top;4 L/ }* o7 C3 _3 J2 Y, N# U
    };, p; h, W+ ?7 A' {3 M4 v

    7 x5 V: g1 P# A  S1 Bvoid Handle::initialize()
    1 |$ b9 o; c/ i" ]{, L7 p' `' x/ G% @& [/ p6 I: r
        StackOfInt* smile = new StackOfInt;
    $ R" ]7 ]1 S. ]6 W% a! F' P0 x    smile->top.reserve(100);% h) Q) c# I2 p) A
        cout << smile->top.capacity() << endl;
    2 C/ X5 Q* r- ~/ m! B, [' e}9 {9 X' A, o) |# O( M0 n* n9 [. B
    ) A/ J  [7 B/ }- `) p5 e
    void Handle::cleanup()
      W; O! U" q' b- v{) z4 Z8 t0 t* ?, h
        delete smile;& e" b1 d" Y) ^" o
    }
    $ j) \% O* i& d- p
    # T! p0 e% g9 }  rvoid Handle::push(int elem)" j0 @* |5 c( D3 y/ ~" z) j& M
    {
    ! |: f7 S) l" Q9 o    cout << "before push\n";. z2 m* M9 X, z% r* Y. M
        smile->top.push_back(elem);
    6 `2 j* H9 J3 n, w    cout << "after push\n";
    ! P' k! }. K# j}
    4 i8 n( _  [0 {6 X$ `" l, Q$ Q6 Bint Handle::fetch()7 Y& n& Q8 ]3 }7 c  H% s
    {2 b9 K" m' f" F
        return smile->top.back();
    " j5 C8 E- _- [; W4 j8 J}
    2 [: e; R: t) P/ \" [0 [6 ^+ jint Handle::pop()7 ^: |& e3 x6 Z* _; _( `' X
    {
    1 b, H# O# l' L( y1 Z; |/ H4 {    int n = smile->top.back();9 [3 s8 ~0 n) C! c& e
        smile->top.pop_back();5 V4 |7 u+ _* L8 _. y8 J
        return n;
    6 i. F; b$ l- ~; V# C# l}
    ; H8 z2 t% J" {+ S/ X# Z  Iint Handle::count()
    + s9 z& j2 _0 r{4 W% Q, j) S; `! b: u
        return smile->top.size();
    * ^7 d' B! ^( F) C6 i" t}, O2 O. ^  z6 f7 V( o' y
    ( g2 K& h; Q9 O0 \0 o
    主函数 main.cpp2 ]$ V* M9 Y/ h7 X5 H; h1 o" N
    #include<iostream>2 d. j+ P* }' r& b
    #include "handle.h"
    4 b9 i; _- `9 h% f$ nusing namespace std;
    ( Q9 l9 J3 j2 w4 S: z6 o
    3 |6 L9 W/ Z' l1 ^/ y' ]. pint main()3 D  y  J! O; }& l
    {
    $ _! y0 s9 H  o* S: h5 f  i2 j8 i    Handle h;% c  z4 y: W$ ~3 o& k0 k  @
        h.initialize();% J# z$ p4 `6 I% x, p5 [# @' x
        for (int i = 0; i < 10; i++)- W; @$ N8 r' @( M- f, t
        {
      j+ J: p, ]: w        h.push(i);7 z: G+ d+ b: M8 O
            cout << "last element is " << h.fetch() << endl;
    ' k& l9 C) c! V% a1 `    }/ X9 R$ ^: u" |8 }1 }( K% g0 @" i
        for (int i = 0; i < 10; i++)
    $ F  Z5 \% b" W. G0 ?    {
    6 O% H  e) i9 T% H3 Q, W% S5 c$ M        h.pop();9 U+ Y7 g8 }( n- s  v( ]; h
        }1 o( @( T6 [: g: B8 b
    + e8 _3 V4 N* @
        return 0;. O6 z  _7 Y+ H& H
    }
    / W. J) `/ d3 j) f
    5 H9 F& K4 A+ j: F1 |, B
    ; P+ s0 d( d/ D1 b  o2 [8 X7 R0 q! 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-8-2 08:25 , Processed in 0.556857 second(s), 56 queries .

    回顶部