QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5530|回复: 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
    ' b/ V$ d4 V1 x#ifndef _HANDLE_H
    2 ^" ?# H) e7 [9 G+ o: D9 e% _#define _HANDLE_H  B8 F( l0 C. C  Q, z7 c

    ! q5 ^5 U7 `; c6 o0 x; U' Cclass Handle{
    ! N) J' Q; M! u3 X) ]# ]    struct StackOfInt;1 C1 s& a1 L( V6 s% B
        StackOfInt* smile;9 S0 U  W# k$ \$ X
    public:
    7 H& J: a4 ]9 Y( H& a/ [! d/ f8 |; T    void initialize();
    ( V# ^6 j9 Y7 q  ~    void cleanup();
    ) p+ N0 m4 \  J+ x    void push(int elem);9 b3 Z( v8 i1 n9 f- i+ c3 m
        int fetch();' ~$ \. m$ p" l; t" W* X# _  `
        int pop();
    . m$ t; z1 v, B  q+ r) I0 i    int count();
    9 i  R# |+ D4 P& d* {};& A  P# ~6 e1 f9 \

    1 t, L1 }% l3 C4 h#endif//_HANDLE_H4 Y. w6 u" |3 k+ @" _" V
    * j* ]! B- {/ n; u8 I5 G2 J8 N1 s) T8 F
    类class的函数定义
    : X, l3 [, `( \) S: y#include<iostream>
    ; b/ n0 w2 S9 ^; a' \#include<vector># V: l  A4 U9 y
    #include "handle.h"
    ! X1 H% X2 T* z; B/ X1 w  ausing namespace std;$ d, Q; p5 i' Z
    1 ]( a0 U2 Z0 c
    struct Handle::StackOfInt{; d& U3 x7 g: x( \( D
        vector<int> top;  a3 L9 d' n5 m: i7 P
    };
    - a+ \) h& \$ j3 F* I' k2 d! k
    - i' t$ W( Y( S- Hvoid Handle::initialize()
    ( J# I1 i; K' |{5 Y8 w: i+ V# h6 j% d# U
        StackOfInt* smile = new StackOfInt;
    $ X3 `% ?8 e( |3 q2 j' ?0 q* w5 P    smile->top.reserve(100);8 ]/ [+ I* a4 S6 w  R, |
        cout << smile->top.capacity() << endl;
    " C3 S$ S) K4 X' }  Y) A' i1 ^}! y( Q4 d: ?* ?5 R; }
    $ [/ [; I0 q1 t: k+ t3 |' y
    void Handle::cleanup()
    " D, D' i. ]2 z  I, o1 |- z, G2 o{
    + }- O7 h- M: A  K5 _    delete smile;
    2 l+ p: T) |( [/ O1 M}
    / D, X5 Y: g7 ?( r: g3 z/ U+ S7 c- m: w; u, V
    void Handle::push(int elem)7 @3 P/ w' V7 v) ]
    {
    ' }+ S* e( U; u+ H; _    cout << "before push\n";
    ' ~( x! P5 S, Z+ Z+ a    smile->top.push_back(elem);
    2 J, o# b1 k. D6 C4 g, D( d0 g    cout << "after push\n";
    " `/ s" t6 {3 [$ y2 a% c; Y' m}" Z, z0 `9 k! ?8 I0 f( w
    int Handle::fetch()8 p1 }5 ~; d, s2 R* G! b
    {9 u5 E" ^+ U: X% \$ v/ [
        return smile->top.back();
    2 b- T7 R& ^8 D1 p. {  ], R}
    * e3 u/ @" g% ]8 ]! mint Handle::pop()
    + v: B* {( Q, W8 @) F# M' U( C( J" m{# R% h, J  |, y1 r" @
        int n = smile->top.back();
    . J1 i, N* c$ r) Q    smile->top.pop_back();
    4 J% c* ?: q2 L5 P( h9 t    return n;
    . s8 j$ E* s6 @9 l1 P. J. }) u}. G9 g- C, X/ Z1 a, ~- c) ?& _+ S
    int Handle::count()+ C/ j( G8 x: O, C) k' i0 @
    {
    9 ^4 |$ c- |% |    return smile->top.size();" I  x( v/ s: P0 t( a0 D/ o
    }) S& K! q- Y  ^( o7 c

    ( R+ s% f2 E& n8 b6 }1 T主函数 main.cpp( [6 g. E  {6 l' u+ [: r! P4 O1 q
    #include<iostream>% T/ `1 z0 h  r' f+ j# w6 z2 ~
    #include "handle.h"# W7 l. {) h6 Y* G* ~
    using namespace std;
    ; D, ^# ~  Y& Q) r' Q+ b. L2 S  _1 T: A# w
    int main()8 d/ J; D' b" z
    {5 G' p; d* t* h  O& c; D
        Handle h;
    ( V7 T9 T8 e" ^3 f6 C    h.initialize();! W- y6 t# J3 `! E
        for (int i = 0; i < 10; i++)
    / r3 ^# E& h( Q    {  e9 C& x  |1 O: h# Z* [
            h.push(i);
    - @4 e4 r" W+ l: W1 ~        cout << "last element is " << h.fetch() << endl;
    7 M  |+ `5 t& v* ^    }, b  Y) c- V( W6 h2 A; m8 J2 X8 {
        for (int i = 0; i < 10; i++)! h3 T( {( C7 |- {/ D+ ^  p2 {! }5 w
        {4 c5 f, `8 k) C7 m) Z+ ~5 n
            h.pop();: Q' E1 |7 k7 u
        }
    * u1 V+ ]2 i& r- q: ^0 L, J& J# \' {  T1 E) O3 C
        return 0;& X( c5 Z1 R+ ]# Y  E; n) T
    }
    : d* M. C1 X# D) o0 q( v. N" g7 B9 T6 f9 l* I* x. @
    , b& p! v* ?" v
    , s0 D9 O) V# F, O6 W' Z/ 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-4-10 16:44 , Processed in 0.551458 second(s), 57 queries .

    回顶部