QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5704|回复: 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
    4 A' s/ A) x+ O#ifndef _HANDLE_H$ \$ R0 T+ A) n# R+ V9 e( i
    #define _HANDLE_H) Q; N( i( X' r: m) O

    3 ~$ w% J" f; P0 V$ m+ N4 c" Z1 hclass Handle{! {! K5 G% b* o1 O% e: R
        struct StackOfInt;
    2 {. G" w$ Y  s# z    StackOfInt* smile;9 G4 U3 G$ J) |4 o4 c: t; G
    public:
    ! Q  F! Q& Z% b) L    void initialize();
    # i3 v- n) `# ^4 d$ I    void cleanup();
    1 V# B: k0 T) t    void push(int elem);$ ]) l  O4 F8 D
        int fetch();0 H& O4 X9 S3 X8 X8 C. V
        int pop();2 _5 O) I- G2 C7 b- @/ e! ?: [& O* m% A* V
        int count();
    1 I  D6 N' @$ p) O/ G% q  A$ |};
    . l$ y. U! u) p& X; u2 \  @) b- j: h1 {
    #endif//_HANDLE_H
    4 l- j' G' t& M$ n( S( p1 \" f
    % Q/ }! R+ m) t! J/ Z1 C类class的函数定义2 y- W* {+ Y# X0 M
    #include<iostream>7 D) ^* }+ F8 @5 J
    #include<vector>
    ! o7 |+ w  x" g: O/ w#include "handle.h"
    : u  A' e8 n4 [. K. Xusing namespace std;
    # F& u, e4 P/ M7 s$ i3 W
    9 {/ p. U' c( V. D7 b. mstruct Handle::StackOfInt{+ o7 a& j2 A1 }
        vector<int> top;
    , k6 @! h# j% N; d};
    5 N' `) \% t+ G( M% H. I: r4 L
    6 P( K* |0 _& _2 W8 l5 {! q1 mvoid Handle::initialize()
    + g  U" A# X8 {/ U- w{- h( S& ~8 W' q$ j8 l
        StackOfInt* smile = new StackOfInt;% M( O& G- \# n0 {" D' Q
        smile->top.reserve(100);
    5 J' f5 X, o/ _+ ~' j5 N- k    cout << smile->top.capacity() << endl;
    2 `2 H! ]8 v: f8 n7 F}) U& x6 S; V4 o7 w6 |

    % V6 B; N3 V8 {$ k2 Ivoid Handle::cleanup()
    / y9 t9 I9 K: T{
    0 h+ v6 s) x, y6 u    delete smile;) _! P% X; _& }/ `9 o+ @
    }* w2 z  i* j- e# J

    1 p, l* ~0 }6 e2 W* ]void Handle::push(int elem)1 Y' r, I9 w2 P& U8 X
    {
    3 s8 U- ^" I3 |5 a! V" n+ J    cout << "before push\n";
    % w& m, u  l9 ^0 h; E    smile->top.push_back(elem);3 z2 h4 ^" Z% b% ^$ ~7 R5 K
        cout << "after push\n";
    5 S# P7 ^: l) E& o: Q2 I}1 s3 l+ E5 ?' H& d
    int Handle::fetch()
    / U6 N/ o( }* k4 I{1 Q5 @! r  U$ H6 Z" n/ v2 i
        return smile->top.back();, U. I% `( I, Z' f7 H! W+ e; a% }
    }
    7 J4 \# U' z2 q% n- I5 {- ]int Handle::pop()5 z* p1 P8 d& C; q! w
    {
    & J. D0 j( _# S3 b% g    int n = smile->top.back();
    4 q& U1 D& l3 C, k+ z3 V9 ]2 Y+ K    smile->top.pop_back();; @6 n& h3 e0 a# [/ w) J  [
        return n;9 S( _* f3 P. ?) C0 m
    }
    0 g7 A& u6 t4 T6 v5 O, \. `# gint Handle::count()2 N. }, @% l& H% c% J# Z
    {
    . |5 @3 s( p6 F; j" r+ T    return smile->top.size();
    $ {" x% y; D4 W: d3 C}
      o. `0 G+ d" v! Q" t7 q4 D3 b% n$ @0 A0 K3 K4 P" B
    主函数 main.cpp& t' O6 d  ]+ E% ~
    #include<iostream>
    0 ~% @- r1 R) @#include "handle.h". d4 f- k2 Y. |
    using namespace std;
    , Q  h" K$ n5 i% U( Z' b0 O2 b: `4 h' ^  r. H8 v
    int main()! g" f% v: @! j, L1 B, ]9 `) ~
    {
    ( q  y& W+ h- V    Handle h;
    $ V! y$ [$ H, Y! n    h.initialize();0 }" F% }2 g$ X
        for (int i = 0; i < 10; i++)" C) \0 x' F( m3 \& A& Z" l
        {
    2 o3 n4 F6 p: V        h.push(i);
    7 a2 u- i/ k) n/ }0 O        cout << "last element is " << h.fetch() << endl;5 \" D9 x3 e# ~! Y; V. p
        }
    * Y  D- T# T  A: i    for (int i = 0; i < 10; i++)) Q/ n$ Y0 Y" c1 d9 M: R+ e, n
        {1 E# {7 v! e, n3 f
            h.pop();
    - E+ v6 O$ h$ I8 F    }
    % `; {1 p- o) N9 S# ^. |* r  B) u7 ]- h5 k8 i8 q
        return 0;6 S( M9 z2 a) z$ J5 J' t
    }5 A0 j: H8 c& t$ ^4 O

    9 t, E, D9 R5 _9 Z; H; y- S
    2 E/ W* B1 i  Z3 }2 t2 V4 c; y9 X8 U- i
    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-10-8 09:40 , Processed in 0.669014 second(s), 56 queries .

    回顶部