QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5707|回复: 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.h0 A& h+ N0 ~0 d+ v: W
    #ifndef _HANDLE_H/ }- Y6 H* a% W0 q
    #define _HANDLE_H, a* ^0 s- o9 A

    1 p0 o' g; c7 T! M4 t4 R. rclass Handle{& A6 B: u2 X- Z2 X6 i8 u. d
        struct StackOfInt;( G: ]* H% b0 r! {
        StackOfInt* smile;5 N+ k1 q8 C+ y; o* ?" \
    public:, a7 d1 \$ l" G+ x) J" A
        void initialize();- v) N- Z1 X' Y) ?! A2 h( Z- l
        void cleanup();
    0 z( h+ P$ f2 `# g  i' T, k% q$ e' [    void push(int elem);
    4 g$ n3 Q  v+ o" ?0 J    int fetch();- B# m  g# Y: d+ f+ H& q
        int pop();& X# J+ Q  |  e' P
        int count();
    " L" @. Q# |& J% o! B5 M( E};. B6 _2 m; h( }' X2 ?" Y1 M3 C; J
    8 d1 @' r3 W. S! [
    #endif//_HANDLE_H
    ' w- v! P$ [* _. U, B9 }9 @' l  w$ L& Y) p1 }' p# T
    类class的函数定义
    3 i. W+ j* B" ^3 e& w+ }# O#include<iostream>" x6 ?2 d' g0 [! ~+ n$ p8 _
    #include<vector>3 `+ v& t3 P& t2 D" T% h' W
    #include "handle.h"; Z5 l, A3 `3 _0 z
    using namespace std;% X+ B* x5 n' W

    0 H' K2 \$ F9 f. A  D" q, U- H/ w. Zstruct Handle::StackOfInt{$ E# @, {# h% j
        vector<int> top;
    8 R3 u- J3 Z+ k5 n$ x9 G* p8 z) N};
    1 R: X, }+ N# D
    ( c8 e4 I. M0 |  d( Nvoid Handle::initialize()
    ' H' w' _9 b+ {( I{2 E  N3 D7 Y1 C9 T. E8 _
        StackOfInt* smile = new StackOfInt;% p$ `' v: U( [$ A
        smile->top.reserve(100);
    ( e% N4 w' `, \0 P; ~$ q    cout << smile->top.capacity() << endl;
    : e9 L5 F7 a6 C: e# ?}' ~( L! u+ c$ \8 y3 Y1 j

    4 _) p" D1 C, j% J: h* x& `" yvoid Handle::cleanup()
    5 e) }6 ]3 S* J( _. W; M{% d1 }" A; L, g  W: W
        delete smile;
    % K3 F+ F6 T1 C7 m1 L. C9 A}
    # c7 d6 i* R5 A5 B7 R, V$ v; o2 Y+ N! X1 s
    void Handle::push(int elem)
    & f: y0 N8 ~9 ]! R7 i1 g) {. Y( @{% ^* w5 S9 |, F6 }- j
        cout << "before push\n";
    3 u; a: R+ c- A$ ~1 @% B# B    smile->top.push_back(elem);
    / Q! a! |8 E6 f    cout << "after push\n";2 [9 n* g# n7 k& M
    }
    4 r+ w+ u; a1 }5 x7 X! q3 z* ]int Handle::fetch()& s( p( U* e1 H
    {
    * E! w1 d1 d* V. N# Y    return smile->top.back();
    4 g" V- o! Y, ~: s}
    / {" R6 T  `4 C+ x' K' dint Handle::pop()
    # ?0 l+ L1 K: Z' e$ J4 ]{
    : Q# p/ G7 P  f/ M* J0 `    int n = smile->top.back();
    5 p/ {# G' U9 V# M* q4 c    smile->top.pop_back();8 M# ]" [; x2 q) ~% \$ u3 n! D
        return n;' p. Q& \& }$ @' `% g4 f! s* k' y
    }4 q* H$ ]# }: ?
    int Handle::count()
    8 r* I, E4 c. l$ o6 Q0 P  B{8 g9 t8 G  G/ V6 n; J, s  H
        return smile->top.size();' E; T" E- G1 @6 Q" r) K
    }% I, `5 p4 b: C: ]) d
    9 [; G2 e( \4 j0 L3 f6 S* G4 h
    主函数 main.cpp4 G) q" r$ q( S+ i% h" y4 r
    #include<iostream>
    * d- c; C% C" I, B) e; E#include "handle.h"
    1 j! m9 F7 ~5 p. Rusing namespace std;  m" @) i! I- i" y2 b& u' f$ q( d
    ' ^  O0 G$ t  V# T' K5 T
    int main()
    % p) Y# r# T  u! U4 f{( g( b4 q0 f" L$ Z. J& Y
        Handle h;
    & G9 s; Z8 ~3 M    h.initialize();
    ' V8 K! p+ C. ]    for (int i = 0; i < 10; i++)* D9 _; H7 C! c
        {( e' B3 s/ u8 n+ o$ [
            h.push(i);
    5 B* m5 ^: Q% V" F" [: i        cout << "last element is " << h.fetch() << endl;
    9 }7 A6 Z) ~" m, N    }
    : A/ |1 D8 s# f6 r    for (int i = 0; i < 10; i++)% g4 i" v& i! b8 G
        {
    7 z$ i1 c: M& N: K% y3 p: f) [: Q+ n        h.pop();
    4 v, c. @/ W& ^+ z% w! V    }
    5 s# K; m  i& \8 F* H
    8 ^% o; c, A) L* m- c1 x* p5 r    return 0;
    5 ~3 ~7 r. B& P, _/ w4 I}+ p0 b3 K) O$ F! z2 }$ r
    3 c. W. W3 u" g6 n. F
    ( W$ q/ A8 h8 Z  m# V% Z# N
    * w' G5 b- m9 J) o3 N+ r3 x
    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-9 11:41 , Processed in 0.506074 second(s), 57 queries .

    回顶部