QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5640|回复: 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.h7 V  o3 }8 |% u7 C
    #ifndef _HANDLE_H
    $ R0 Y- X7 W: o1 L5 l9 J#define _HANDLE_H0 x. R. j5 t, E/ u3 h$ q" H% O6 V% |
    5 G7 I- X/ a& ?- b, f  _" M; s# N4 D
    class Handle{8 \6 g* j( e5 D7 n* {
        struct StackOfInt;
    + @# P- r, z4 B    StackOfInt* smile;' A: z3 M4 G& o- T& I8 D2 l
    public:, b8 Z; y" a+ d5 ^( ~1 u
        void initialize();
    % z4 I9 o" {8 B# m/ _& t% {    void cleanup();' u8 v8 W! [1 k; u. b9 y! c
        void push(int elem);3 X5 ?% w6 p, C8 t' R8 O
        int fetch();6 I, v6 e/ a# K9 ]$ N
        int pop();3 J$ M  P5 G& T! f# Y5 w+ l
        int count();
    : u# h8 _0 L( B. W, P" [9 j* n};
    : l* D9 k% ~3 o, D. `+ d! V/ X$ j3 d3 C! F! O" b/ e# q! P' _/ M
    #endif//_HANDLE_H; k' Y8 ]  b+ S4 U

    ' c$ A" s) U1 k1 n$ o4 T& t1 c8 K+ S类class的函数定义! v* s( _0 k% H$ G
    #include<iostream>
    , S2 G' Y0 d7 i% Q1 y#include<vector>
    & ?+ Q2 x/ Z- W2 X$ a0 c#include "handle.h"& W* R% h7 Y) I& H0 `
    using namespace std;0 S& f! W3 W0 h2 B* ?1 C
    ' K4 S9 v+ Q! a  T
    struct Handle::StackOfInt{
    7 H9 l+ s8 \; |$ N0 E    vector<int> top;
    ! X6 y2 n, [+ I$ v, x* [9 C};
    : ?  r0 n! J% G) i7 `9 h0 W+ V8 R8 x0 t, J" n/ J8 |6 ^8 \
    void Handle::initialize()3 p8 L: e: K$ O& d6 I, @  u, R: ^
    {
    * u2 B3 |/ q0 L6 t/ r    StackOfInt* smile = new StackOfInt;* e2 P) Z2 F0 ?3 `' V% J+ a6 A. }
        smile->top.reserve(100);
    ' C! t; l+ V5 m! C    cout << smile->top.capacity() << endl;
    7 @) Q. N* D0 S}9 {0 P) j: v( L: Z+ K/ s  \( D
    + I7 c" E( w! T% B5 v
    void Handle::cleanup()
    7 W6 Z: m& }. A  |+ E) M- t* ?{
    ' u0 P* R$ a% f6 ^    delete smile;
    ; ^: p2 s$ X$ K4 A6 T# d# n}
    7 j5 ^0 P( C& w0 V% H7 n4 M1 x/ G$ p2 X5 @, H
    void Handle::push(int elem)) B! L5 P1 }9 |" a. S/ w. H
    {
    ; M- O% z" X; t    cout << "before push\n";
    7 n( i+ t! @% s5 p6 o3 m    smile->top.push_back(elem);( t: {: M+ A  Y6 ?0 L
        cout << "after push\n";7 E* ^+ F2 @. c9 t9 ^  i
    }6 b7 S6 ^& o5 n, V# J
    int Handle::fetch()
      m" w0 j0 [% B# g7 l{
    ! ~8 O; \  b4 H+ @1 Z    return smile->top.back();( c1 g  f+ f* g( o
    }3 `: M  k/ f1 P
    int Handle::pop()# f; w" @4 ]9 E4 e) M+ k$ M, X
    {& h) D# W+ w' F2 h" Z
        int n = smile->top.back();, Q3 z/ j  U' t& v7 h+ i
        smile->top.pop_back();1 I7 q: T1 e7 a+ v# x0 U0 c# W
        return n;
    3 m' e/ w, k$ r8 Q}. x, g5 c# P4 L/ N
    int Handle::count()- f% n2 t- D& V/ _4 G
    {
      g! m' t  {/ _9 N& P7 m    return smile->top.size();
    ; l) \: I, ^! I& Q* e; E/ r# v" Z* ]}! K  [/ c/ R5 ?) M5 C
    % O8 t4 ]. ^7 x
    主函数 main.cpp7 \; z+ `" m# \  O: g/ {
    #include<iostream>6 t- J1 M/ e* y8 V( Q5 n
    #include "handle.h"
    ; N3 h0 L! D9 R/ cusing namespace std;
    # C8 W  \2 G1 V3 n+ T1 {& u: m, L7 [; T* q
    int main()' d* s, o' m/ |$ \, s% l7 C
    {
    4 v# z  r1 D1 w# z    Handle h;. r: ]) f) u  y
        h.initialize();" P( |! T% A$ L' N: o/ D" o
        for (int i = 0; i < 10; i++)5 j( T" j2 `7 _
        {# z* L) s& S4 H4 ^
            h.push(i);* `1 R% J+ b1 B, c/ K( d# K9 t1 N: E
            cout << "last element is " << h.fetch() << endl;/ K. i6 k4 T2 Z8 j% d! E# q
        }
    6 f) a5 Q/ Z6 x1 l! s) b    for (int i = 0; i < 10; i++)
    $ N, p+ ]$ g* Z6 X8 m/ V. e    {9 d/ S. ]+ O" g! T) f
            h.pop();
    4 w0 b; K, e6 V) u+ Q5 A    }
    % L% A* a+ v8 j, Q
    + X) K' z/ L, c! P8 C6 b7 P    return 0;
    ) w0 z* ~8 j1 B8 i8 Q4 Z1 t7 J+ a. l}
    ) v4 ?9 ^' E. Y0 I$ k" }% e6 S. s. N+ @2 ?
    ) P2 j. M3 g* i( {* N

    ' {& x* F: g0 _& 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-8-31 11:29 , Processed in 0.568057 second(s), 56 queries .

    回顶部