QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5566|回复: 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
    ) \. u: n4 W' \* S$ M#ifndef _HANDLE_H
    9 _1 Q% k5 W) a( w#define _HANDLE_H
    . u/ ]) r3 I, a$ i) F) m; S, s8 |& Q: r, Y: [+ O
    class Handle{
    " J1 s4 g2 Z' Q/ h( E9 J9 j& d/ ^    struct StackOfInt;
    4 g. U/ X, B% R9 A    StackOfInt* smile;
    7 N4 ]0 n# {9 u  X: hpublic:. k4 @2 X3 d0 q! V7 L) _" m3 p/ ^" b
        void initialize();
    4 Y+ P. e! p% t6 v    void cleanup();5 @. u2 ?7 Z- X& v4 k
        void push(int elem);- F1 Y4 [/ P* M- f$ y7 j
        int fetch();
    / N! q1 C: S. f    int pop();
    & C4 e, r* O; @6 e! a    int count();
    2 G7 r  C/ k7 N! H3 w};/ _6 U. [/ Z# ^( N& r
    7 X- o" }+ T) `& A8 Z4 i, z
    #endif//_HANDLE_H
    ' F: {6 T# H! t$ a3 L2 R3 ^3 h  v" }
    类class的函数定义7 d. ^! u) G) y0 _) J
    #include<iostream>
    3 l) |. _: L( j" j) a#include<vector>0 \1 k% u$ C7 L3 k. z0 Y
    #include "handle.h"
    1 z" M2 p  Z% }8 ^& Pusing namespace std;
    1 s2 @# f4 s9 y% X/ B
    2 i; L; r2 I8 G/ Nstruct Handle::StackOfInt{' I! L. G* Y# x; p. A. {) F) n
        vector<int> top;
    " H: c" @6 I4 d& {9 P+ k8 K( a};& g: S1 v% G5 J5 \2 s8 R; R
    & P7 P' j" Z: Q% N9 U) |
    void Handle::initialize()
    3 v2 j, _2 g( A: m5 S$ s4 ]4 f{
    % I4 v" S; E1 x4 j    StackOfInt* smile = new StackOfInt;
    ) ]8 G9 X' H+ J. r2 Z+ j5 D    smile->top.reserve(100);1 A  E( Z5 b$ ~1 \
        cout << smile->top.capacity() << endl;# i+ ^6 M% l) x) p, Z: ]( V+ f% H4 ~1 N
    }
    4 H" u& j, H6 G( C! |# o1 k2 q% L$ ^$ {8 c+ ?5 ^& E
    void Handle::cleanup()& v3 t8 t) h& j1 ^6 ?3 b- h8 h
    {6 T- @( w: v2 W- ^# M7 g+ y5 r0 B  ]# b; m
        delete smile;, C% |2 \$ \2 F6 Y
    }3 E5 J; c4 L- p7 G) w

    # a& v# v# R' b* l- X' \void Handle::push(int elem)3 h2 O3 |+ e5 l9 J4 b7 j5 v$ r
    {; K3 W  x% l6 t5 o) H% i9 D
        cout << "before push\n";
    * p; R! |5 k3 L) m! l0 E2 T6 x    smile->top.push_back(elem);( B9 \( O" T! Z0 P8 u+ ]
        cout << "after push\n";
    7 f; x9 ]" n$ u; W1 d$ l  a}: a& o# t( H2 T
    int Handle::fetch()
    0 R- K. v4 r9 n' _# Q1 [{( \7 _( h+ t. c7 ]
        return smile->top.back();# Y2 Y4 T1 w1 ]! o# N# i+ ?
    }8 Y; `' O8 B' p' j8 j2 z1 H
    int Handle::pop()6 \( h" z1 E( l
    {
    ' R5 X6 J& H  V7 F    int n = smile->top.back();# m5 j" S- z- d- O( n5 M
        smile->top.pop_back();
    * Q0 L& @( }. Y5 {  M1 x$ }    return n;
    / V8 U; I# G/ ]# X, C9 x  V}
    ( \1 Y: ^  y$ N* l0 Z7 wint Handle::count()2 e% U6 M7 w0 j7 D
    {& K2 k( V% {8 V$ ~  G
        return smile->top.size();
    " v& K0 `( _6 R/ V" g+ ^" o! D}# d- R! W" \4 M- u& c

    ) [; v3 @  q( U5 @5 L主函数 main.cpp
    ( O; l; w8 `0 A9 }" r. \/ m#include<iostream>2 c$ K. \* |$ j9 ]: r
    #include "handle.h"
    ' K' t, A8 F/ T6 P- ]9 Lusing namespace std;
    7 @! _8 G" p; a4 b2 y' _- _/ O8 ]/ f: s3 K
    int main()
    . U5 W, N# L; d5 ?{8 R! ]% j7 k& b; N, J' t' _& J
        Handle h;
    3 ~# L3 _" h! V  t6 L# E    h.initialize();
    % s) W. u( r2 W+ w    for (int i = 0; i < 10; i++)
    % L3 B% J/ @) Q) u    {& ^& P" t4 m. O- \$ c2 @$ |
            h.push(i);
    & t. F) I3 k+ X& X        cout << "last element is " << h.fetch() << endl;
    ! M2 e1 T4 h  v# Z$ `; g7 R    }
    2 `% {2 l2 u' f    for (int i = 0; i < 10; i++)7 x! w: @0 D# \: S0 Z
        {8 @/ `7 i$ x4 F8 Y5 `8 o
            h.pop();
    & i0 h1 q" ]: v* N6 w    }
    - J! n* Q9 [4 w. O: {) n% ]# b0 b  V$ n- M1 C# ]
        return 0;# o8 ?3 s3 B& U, S5 B$ }% X9 j
    }) J4 }( t$ ^* I  R- z- K' ]1 a$ Q( _

    ) ~) c- S4 d- x/ A" w% [, a2 N- s2 \9 j/ U6 h- M& h, k
    ! T4 Z$ C' A3 t4 h3 }; B
    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-6-9 22:23 , Processed in 0.542575 second(s), 57 queries .

    回顶部