QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5593|回复: 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- e, Z0 E! }. _, t- {
    #ifndef _HANDLE_H
    % u4 T4 j0 _$ u, I0 S& Y4 e2 O0 u#define _HANDLE_H' @: F5 Q0 t0 }" ^  y2 T7 j

      O' i: l8 m+ _6 j2 G; M4 ]5 Zclass Handle{
    ( f6 t" ]* R" L    struct StackOfInt;
    $ t: D; d7 f0 U! m2 e, C( j    StackOfInt* smile;; j9 m6 S8 K: C/ o5 x
    public:
    - d9 _; J7 s( Z0 U: E: q5 P    void initialize();
    8 |) l  q% J, F  U: S/ F" h4 _7 ]    void cleanup();5 i% t- C. {) \3 `* [
        void push(int elem);$ o$ z) Z5 U3 q4 G" Q, M9 u
        int fetch();; v& d0 ]6 e5 e! P' b& T6 m
        int pop();  Y6 R& x- a# I( ?. p7 m" S
        int count();
    2 P- {" j/ C+ x) J3 ^, I};
    # z, H0 m* N4 c6 @$ E: D8 z0 j% i) p
    #endif//_HANDLE_H! l/ v6 E9 t$ n/ C' Q5 J
    . \5 o5 j3 b* m/ u
    类class的函数定义1 C; I3 s' e: q( D; O8 |/ p
    #include<iostream>
    : D5 H  m* z) J' [+ b. v#include<vector>9 L& v/ \) ?/ C" L) ^7 r) t$ o# [
    #include "handle.h"
    ' G* p; s5 ?: rusing namespace std;
    6 z, d! t& [0 E0 B* z( E& q1 t' h/ @
    struct Handle::StackOfInt{
    , Y& I0 c) U- }    vector<int> top;9 n9 `  i& z3 ]1 s) {
    };4 c( e- F" k0 u5 c$ |6 B% l
    6 {, W. O0 I2 X4 L
    void Handle::initialize()
    4 V4 M2 [  I. @  ~' e{
    + ?: n( u6 g# U& o    StackOfInt* smile = new StackOfInt;
    $ R9 P0 ~) t. y0 u5 m  X    smile->top.reserve(100);
    2 a' ~+ a4 c+ \, u' q    cout << smile->top.capacity() << endl;! b% u! v& f8 p& E: [
    }
    7 `5 p+ d9 r  r) U( \& U- H0 A0 }0 d
    void Handle::cleanup()6 l) O' D5 l+ p, C+ W
    {
    $ L* e  \* U. S. _+ g    delete smile;, ?! t, [% c; Y1 c  G0 R; ?
    }9 y) F5 K# [1 {; m

    & ]. h' e% P4 D& l" e4 Q1 z9 jvoid Handle::push(int elem)9 r- m" ~/ D7 |) ^' Z: ^- F
    {
      u( J3 I- I; ]! H( G4 e9 x. u    cout << "before push\n";  s4 w" r7 k3 W% v- t# y& M
        smile->top.push_back(elem);
      |' a6 [+ |6 i3 M. o0 J6 Z0 q, E4 R    cout << "after push\n";5 o+ ^- k- E7 e7 u, f' Q  q
    }  i5 Y/ ]- S4 [1 M) ]2 a1 H
    int Handle::fetch()
    : i$ J  L; F& _8 h: c. P$ f{% u$ I2 W% O/ L9 }) q! p, U2 ]
        return smile->top.back();
    - s  d+ F; E3 t# U. b; T! j+ F6 T3 ]1 u/ T}% b  T3 ^+ l5 l3 {: d; ?2 B
    int Handle::pop()
    7 t2 M# |  {: ?0 ]7 @3 ]5 X6 d! e: `{9 N- ?4 Q9 C7 V/ o  u+ t9 p
        int n = smile->top.back();
    / e1 E& u3 c3 }, S    smile->top.pop_back();
    * U  ]; v0 q+ w. n# C0 S# h; N    return n;
    ; g, [) s; ?0 x; w, V3 p% {% S}1 {& P9 _) F2 b
    int Handle::count()
    : p" d+ n: M' [" J7 G{* K, ]/ k* V. d! E: H& k
        return smile->top.size();  Z! R+ z  B$ q
    }4 J! u5 M+ m" P* e8 n; _* u

    % z, Y/ S" K# R; L+ b, Y( T' l主函数 main.cpp+ j% s8 O5 h+ u4 X% p, [2 p
    #include<iostream>' Z8 |0 o" W4 q, n/ g) y0 `, e
    #include "handle.h"7 U, a4 M0 y  d% E( @9 E6 Q, f, L2 L
    using namespace std;8 w) m* o: O  B
    - W! d9 K; O  @) f
    int main()
    3 X, B! k2 C2 Q5 o7 G" R{# ]3 \: @9 @2 u
        Handle h;1 ?3 o& s4 V" m; S
        h.initialize();+ T9 w- p) I+ U: q& {5 G8 |) d( M0 S; `
        for (int i = 0; i < 10; i++)
    ) Y) \; c" C, k6 m5 k2 y" P( T+ I    {
    9 t- d- w1 F& [, E7 Z6 a        h.push(i);  n" m1 m- h3 J" @+ R
            cout << "last element is " << h.fetch() << endl;
    ' L# S( z  w+ k; z    }" I& A: [5 _9 F. G! o$ k& j
        for (int i = 0; i < 10; i++)5 O0 Q7 ^; R9 j6 C5 R$ e
        {
    1 B" u# X0 q7 e( t: v  {' x        h.pop();
    * \- w; O0 e- w* ?  a    }
    " Q8 d8 P. @, Z4 L+ ~- F. R5 [
        return 0;# ^* u" [( D! f
    }2 |  q! Y6 u) M+ V* e8 y/ D+ Z
    1 n( W( O7 q& }$ g* b- ~' J4 N
    % Q; Q9 J  @- s7 i7 q

    ) R5 Q3 v( f9 |& f( S' T
    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-7-13 22:30 , Processed in 0.449219 second(s), 56 queries .

    回顶部