QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5536|回复: 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.h3 T9 H/ F( S+ @4 c8 t
    #ifndef _HANDLE_H
    ' n9 x" i9 r) p# Q#define _HANDLE_H
    0 f. f, f. l0 n. U6 M: }1 d" t# Y% B* j7 b. i0 `% @0 a) q7 S
    class Handle{
    * x3 q+ W* U) ~" y# K    struct StackOfInt;
    9 {% h/ v$ B/ X, U0 d. ~    StackOfInt* smile;
    " q! [7 V. Z& D' U. tpublic:
    # c6 X% c0 ^( @" ]; [9 S* P    void initialize();. }/ ^1 p" x3 D! T8 s
        void cleanup();7 h3 l4 x! C$ g" c4 u" r" n9 e5 R
        void push(int elem);# m# x4 b4 q9 h3 L, }  B1 P- m
        int fetch();" g' d# t7 v3 ]4 H! L( f. T
        int pop();( r% E1 g1 j. _- @+ P
        int count();7 R1 m) @  @) V6 x2 [$ x/ z/ b& R8 z
    };2 F2 v0 N) E/ o; J
    1 h4 z: a. J) k: z$ f
    #endif//_HANDLE_H
    : M, Z  a9 r( Z) a  G  N4 z" y9 P7 O6 P9 L8 P2 N. T
    类class的函数定义- Y& k4 U' {# R4 f% Z4 F
    #include<iostream>7 f  h) w: ~" m0 T. a
    #include<vector>( k5 P/ e8 F" ]: y6 x$ V! n' U
    #include "handle.h"
    $ L4 B- w0 o6 Z# U! yusing namespace std;
    9 S  A  r  M/ t7 ^1 H1 D4 E0 ]# b- Z- ?, W, F
    struct Handle::StackOfInt{* w1 {2 W- E) I* }5 J0 c
        vector<int> top;, e; O7 [. M' W+ q# o( m, Z
    };8 y; {8 J: m" D$ W4 D: V7 c& N

    " n/ v0 j* k0 x5 {- H. b* {0 |& ?void Handle::initialize()
    5 a7 A( n! U: I{' ]0 t/ [9 E% E9 ^2 \8 w
        StackOfInt* smile = new StackOfInt;
    9 N4 s: b$ r& y4 z7 F) p    smile->top.reserve(100);
    . V: U% s( g- e# \! T7 m% b# g0 ]- J    cout << smile->top.capacity() << endl;
    6 g4 d4 G4 s" c  Q" ]* H( ]1 X}
    9 c+ f* U, t# _, Y' _3 |. ^8 p- p* Q/ k5 @/ v) _& ?% ]( J
    void Handle::cleanup()$ N% g9 q  \" [+ T# C
    {
    ( u% F9 |4 m( K% n    delete smile;
    / [* N  ~5 ?* i1 P5 `( G% a+ K}5 U0 K% m! F0 |5 P( H

    6 L" z$ A( {: K; e8 Z" H) x8 h8 rvoid Handle::push(int elem)
    / f8 @6 Q( D* T4 w{. c0 o( u% q" g
        cout << "before push\n";2 e& t& N' L7 `/ F* ^5 N) X7 Y' }6 c
        smile->top.push_back(elem);9 m& l- f  n: C5 j6 A/ }
        cout << "after push\n";" C" K  T. e2 g, W
    }
    2 p% U7 f5 v  }5 i0 r9 m, D$ Lint Handle::fetch()
    4 s. n6 ^" A, T6 p2 I% \{
    9 b6 Y6 H* H2 w; g$ f  i# J2 @    return smile->top.back();# U* K' G; F& }* O# x; G4 O
    }
    + ?  C- @- X2 G  `& t9 v/ wint Handle::pop()
    ! J$ x3 s; G1 ~. u: h5 {. W{
    & a7 p6 W2 m- }/ d0 Q$ V; v* y4 P    int n = smile->top.back();5 f6 i- X# V2 G: z) }4 e, U2 f1 R
        smile->top.pop_back();/ a4 E) g* B: @6 H3 Y: z% D: P5 k
        return n;
    & F! f2 j& i- ~2 l, s0 ^& v}8 }% u) [  G$ ^2 B0 u
    int Handle::count()' Z  I7 E' L0 \0 |8 L+ H
    {; J0 n) W6 ]# h
        return smile->top.size();
    ! ^9 d! ]- B$ y. Q/ y}
    ) S3 @# F6 u3 @2 ^8 v. ^4 T& z1 U  |* I1 W' w# K" H
    主函数 main.cpp$ J) q: Z3 P3 L/ {7 W3 [1 l
    #include<iostream>
      V6 p' v3 Y3 k" k, u7 S#include "handle.h") ^8 q% H, e* s3 o0 }; c
    using namespace std;0 y) h* d3 l& P

    1 ]: F7 v& Y0 U1 I+ F1 s) x. Iint main()1 \$ O3 m* a% W) i' ^7 ~
    {- I& ]' i# n5 M+ T: [
        Handle h;' ^( x( p1 G3 ^# v+ T
        h.initialize();1 d2 V9 d) J1 P; h
        for (int i = 0; i < 10; i++)
    $ D  `* g5 t+ W: m- A( l    {3 d; u4 X! E5 h/ l7 ~
            h.push(i);# k: X) E+ @5 g/ g" p
            cout << "last element is " << h.fetch() << endl;
    + ~  V/ f  K8 Z: a: G7 h  N    }
      y* n  y5 B, S8 J) }    for (int i = 0; i < 10; i++)
    : R4 R' y; N( h; u$ ~; {0 c6 U* t    {2 _1 t. j9 z, p% A: w& i
            h.pop();
    , I/ g4 c, ^, ]* L; l: e- H- ~    }
    7 W' |/ c, ]* D$ o
    + b. o! u7 b* W0 V7 n7 q2 e$ [: k    return 0;
    7 ]0 a# G& _1 H* g}
    1 B/ t- y8 ^" p" O: ^3 Y+ ?# n$ v8 H8 n! |( F5 p% A
    & _! g7 w! b% k; k4 i0 X
    / y" I* D" K( d/ P+ 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-12 12:19 , Processed in 0.401798 second(s), 57 queries .

    回顶部