QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5567|回复: 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.h2 L. E+ ^& q, r+ F
    #ifndef _HANDLE_H
    0 L# @& _* }& H( W/ c4 o" o; g#define _HANDLE_H0 M% m/ ]6 r7 p4 E1 f- }

    - ?: B$ Q8 u1 d2 `. {3 Nclass Handle{/ J+ z8 b" L; [5 n. k
        struct StackOfInt;+ O: L: E  Z3 I
        StackOfInt* smile;! l! ~% C, A2 q' o% v7 U4 \
    public:
    3 G0 N# \3 [  t- K' Q( k; J    void initialize();6 d4 S. ?( O0 d
        void cleanup();
      s* {0 U) m, n1 V9 d/ X7 S    void push(int elem);! P4 c/ Q  i7 A+ K3 I% c! }
        int fetch();* v0 W' `* b4 j) k
        int pop();
    1 ?8 D& X) c! U: Z" L2 d# Z( T0 e# I    int count();: n0 b0 a0 m1 d6 t$ K' c
    };: V) o+ D/ @+ n# d  M

    ( ?) g+ q4 f# A3 h! S' G) Q#endif//_HANDLE_H& s) ^/ m" C, b" j, O7 N

    5 V( J. ^* n( m* q6 m. E( B类class的函数定义+ z' R! m2 z3 J9 V8 K
    #include<iostream>6 w& T" l$ l  |! U1 j7 d7 E% x' T
    #include<vector>4 V2 U+ a& f1 |/ b% Y! y: |- P1 _
    #include "handle.h"
    - ^# g, f& t( j5 w5 Eusing namespace std;
    ' y4 B1 F' ]7 N4 J5 ~, ?, W6 b, Q' ]2 H- \/ G1 `6 Q4 m% `$ d: x1 \& \3 {
    struct Handle::StackOfInt{) Z3 q8 u: L: g6 f+ F# o
        vector<int> top;$ U9 e& ?0 ^, |2 S
    };
    # M% z# E( i. M. \9 _, I9 D0 k+ c. F! L: C4 o& @+ n
    void Handle::initialize()2 s2 C# M$ c0 j  `) U
    {
    $ }0 ?* B; Z* p6 w7 Q    StackOfInt* smile = new StackOfInt;
    8 B  s# S9 s( p% q3 Z    smile->top.reserve(100);
    / {8 G4 ~7 O1 S) I! S# m    cout << smile->top.capacity() << endl;
    % n5 S. Y6 B( o- o+ z, M, x}( h" q' Q/ o* s2 ]$ k0 P1 Z
    $ y0 `# g% W# C& ?% @- C# ]
    void Handle::cleanup()$ f# J! X* @( T9 F
    {0 j0 a) G% Z) h% N* j( \' o
        delete smile;; Y; Q$ t! R" q$ O. j8 x4 b( K4 b
    }* ^5 o4 |4 p+ h) k( a& q) C

    ! b, }/ M7 H( D+ Ivoid Handle::push(int elem)9 D4 h# S) E% ?
    {
    $ ^5 A: q- K! e# ?4 c, F+ W4 Z    cout << "before push\n";# O! x, i- j* }9 A# D: U' Q! B2 ^, r
        smile->top.push_back(elem);: O% v: [7 @# c9 @: d/ \7 e1 ]
        cout << "after push\n";
    ' o( E' S" T; j9 e( A6 }. @}
    3 T' P8 |* X6 Wint Handle::fetch()
    # q+ a/ @, @' e6 a{
    . P7 h# {4 {# h- I( m    return smile->top.back();
    # U8 ]7 e; Q  x, T}( l. ?0 v/ k& u2 L- `* Y
    int Handle::pop()4 O9 e% ]0 c1 B* E9 h6 h0 A
    {& z3 @9 \3 V+ {* ]6 y( T
        int n = smile->top.back();& ~3 u/ p2 I# b: z( u) r+ R
        smile->top.pop_back();
    2 ^1 Y  k$ _! `( j    return n;
    3 Q/ z+ F0 M6 {' g}
    , N2 F  A1 f$ lint Handle::count()
    * H/ L* E/ `% s( j% ^  h" u- k+ G{
    1 h- g; R! n' z    return smile->top.size();
    8 v. A% o+ q' h( T5 F* t}
    ( N, o! L1 U  P- x* n6 `$ f* o2 ~, L( o
    主函数 main.cpp
    - C% u; P9 \: a" v: F5 w+ w/ j#include<iostream>
    / {1 a1 ]- i+ c#include "handle.h"( V( c. d" U. @9 u
    using namespace std;
    & x* b- z  |1 K5 H: [( v* ~2 }  N: e! `( a
    int main()  ~; j( e+ R0 D! N* F) }5 \, K. r
    {
    % L2 v/ M0 d+ H    Handle h;: @3 H+ ?' D0 r" G& v; |3 D$ u. Q
        h.initialize();" M+ T) @, P% j3 u# t2 w
        for (int i = 0; i < 10; i++)
    1 y* i* A2 `! M    {% {! ], }. j6 ?" h
            h.push(i);
    " h/ T9 A  Q. T# N. A+ [        cout << "last element is " << h.fetch() << endl;) g3 m4 s& Q6 o3 n" z8 }7 S7 O* n9 B6 m) Q
        }" d# l1 d8 _( V  T
        for (int i = 0; i < 10; i++)5 O% @' x! z  u& z* {- K9 L
        {& [: L* c5 C* c! h3 Q6 e7 h- V
            h.pop();# Y$ Z4 {( u% l9 A4 g3 C
        }* v$ k/ m/ S1 r+ I. I* M; X) G

    $ _. m, @6 s+ F    return 0;% S1 v9 X6 t( r
    }
    ; H) q6 m/ V( g/ h/ e; |  b1 n7 ^% u3 e2 j" F
    8 M. z& u+ S6 ]

    - }. ^9 _& c+ j2 o- r/ u
    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-10 01:52 , Processed in 0.622628 second(s), 57 queries .

    回顶部