QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5624|回复: 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
    + i5 R/ l. Q- H/ ~5 p$ v1 s6 K* A' }$ s#ifndef _HANDLE_H
      S  |$ [# @9 ~! o#define _HANDLE_H. P9 k1 E# j7 O! p
    + Y7 l$ C" ~4 `& l  j2 o0 w
    class Handle{
    ; U" h. Q0 i0 \5 A" M1 T' r    struct StackOfInt;* U: U' w9 y2 }; p9 K, s
        StackOfInt* smile;( B$ k( `* r: f
    public:/ S+ A! [+ m, V" e& q0 |
        void initialize();$ c% w! c+ C& C2 @! b; H, d
        void cleanup();! ]. ]# `$ C4 X. H
        void push(int elem);
    ! Y0 D! ]: I% y    int fetch();7 K, M& L! G) ]+ }0 H4 \
        int pop();: v: K0 v. I- {+ y! |3 F4 o4 q
        int count();
    " K/ [6 X% L5 ^  T1 u6 g7 L};+ W7 y/ A! o3 n& p5 @9 N

    6 t6 P9 ?0 R' ~2 V" j! P2 S1 {#endif//_HANDLE_H
    % E7 q% w% x# p8 K3 P. P5 G8 v9 |+ f& q7 H
    类class的函数定义# _& E2 b. w+ m: I
    #include<iostream>
    4 S4 p+ e. A: m2 ?#include<vector>3 t/ _: p' _/ e6 z( }5 J* L2 j
    #include "handle.h"
    * @' G; {+ Y1 g: Husing namespace std;
    $ x9 [! u( a3 k* Q0 c2 M2 D! C2 ]7 j0 h5 [2 x4 A
    struct Handle::StackOfInt{/ R% p! r  @7 y, o. {* g- o
        vector<int> top;" r3 x- R$ k" S
    };* B7 m( v0 Z, p( r1 x% X

    ( v: Z& Q/ l8 z: T4 yvoid Handle::initialize()
    : C+ g8 j% u: X; ?( h. |{
    , O* d8 f) T) k9 t& b7 w2 N    StackOfInt* smile = new StackOfInt;" @, ^2 q# s0 T: G' q  Q/ Q. g
        smile->top.reserve(100);$ ?5 c1 F# e6 |5 P  w& t  Z
        cout << smile->top.capacity() << endl;' D6 k; G1 Q) a  M1 J
    }1 R' B% @! [5 }4 h0 o  ~( N
    ! D* K( P+ o2 {
    void Handle::cleanup()' p& Z  F) C1 P' Y' k
    {
    ) k( D( s( X7 N- z1 O% W    delete smile;& c' e9 I" v: v2 x+ L
    }0 w0 J0 s5 S( L. w/ Q/ f# Y
    7 U/ W: O# D' m7 |+ y6 S. r  [
    void Handle::push(int elem)! f: c1 `5 M3 f1 ^0 X7 j, u
    {6 E, ?5 z( c6 ?: y' o: x# z
        cout << "before push\n";
    0 V' u& T" Y0 A0 x/ r, O    smile->top.push_back(elem);1 C: P4 r" n2 k
        cout << "after push\n";' v$ w# A# u% `$ c4 Q+ R
    }% E9 M' P7 h: J- i3 {1 x2 S0 N
    int Handle::fetch()0 c8 `, d, n* f
    {! s& w) E  O8 J. y, U" X3 n1 h. t
        return smile->top.back();. d$ y! N- @. X1 f, s% T3 u3 n
    }2 ?% \' z' S* }5 Y
    int Handle::pop()3 k7 O3 o  H( G: @/ K- W/ ~& y/ `0 r
    {
    4 O- K( i+ \0 I2 v: s    int n = smile->top.back();) W3 u( l9 M& s% w% W4 _) _
        smile->top.pop_back();
    4 t9 ^7 U- |5 |$ ?9 h( o& c    return n;
    1 K9 I5 F( r8 K9 R6 N}
    % t" J3 e9 }2 W9 \4 gint Handle::count()
    4 r$ G$ ~9 ]0 \- Y8 L{
    8 ^+ t% i" [% O& o5 t    return smile->top.size();
    , _2 a) X) f7 H2 D2 e4 x! O3 W}, l( s( X6 F6 F9 {' }+ v

    + o7 x5 U. W* t/ `主函数 main.cpp2 K- G1 y( x" b5 D
    #include<iostream>
    , p2 K0 O( t: K6 n) @/ m6 G#include "handle.h"4 u$ W# E% y( j* w
    using namespace std;
    $ _  c9 x* O, N% z
    - \5 F1 h7 T; P3 s( S6 U# S* F2 sint main()
    : Q7 A! A4 G- s  h{* `" K, r0 H3 F
        Handle h;" @9 L( T4 G) q- z" B' L. |( [1 D
        h.initialize();
    ; A, z0 o) x: r    for (int i = 0; i < 10; i++)# \: @* Z) ~8 m$ q
        {
      @: N- K- Q- g; A3 o9 \" z2 _9 S        h.push(i);
    . b: C. E7 [2 \. ~% J$ S        cout << "last element is " << h.fetch() << endl;
    3 m4 w/ p) ~: `) c1 J    }4 D/ H8 j# {$ E3 ^2 X
        for (int i = 0; i < 10; i++)+ P% E4 Y4 v& ?1 N# _1 |
        {0 K& O1 E$ p. p( x. I* D
            h.pop();
    9 i! E3 h7 e  J    }. l% M' t, r6 \) L

    ( i8 X) x2 P0 r- f' _    return 0;
    9 z- f  g* }4 E" z% ]}# b" n" }: J# e' w

    ( O2 U1 X& d, S& G% o7 T8 W! I, l" k% l8 t  }
    ; W) y( B" A  R8 e
    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-8-2 12:54 , Processed in 0.500733 second(s), 57 queries .

    回顶部