QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5642|回复: 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
    ! Q( t, ]4 L8 f5 |# V#ifndef _HANDLE_H
    5 J: g8 G* e1 w#define _HANDLE_H
    2 k+ r- f% f4 J# E4 M
    2 M# d8 ]2 d9 l- m- M* w) W( h5 Xclass Handle{' K. t+ [5 y) x& ^% {
        struct StackOfInt;* ]: v! T; m( ~2 M: [7 O0 @$ E! {% @# A
        StackOfInt* smile;
    2 R- g# P  x! T! B9 V) upublic:
    . K6 G3 ~( I; r( o7 w# d1 v    void initialize();
    : a+ }  F8 `5 ?) \( K1 Q$ `    void cleanup();
    ' Z- D8 h, k* A5 r( W0 z  B+ ?2 Y    void push(int elem);
    4 U: I- t( N& c3 k! v) S    int fetch();
    # i  x( G! x8 y5 i$ k    int pop();  h$ _7 r) O' r) R
        int count();
    5 ?$ {. \! N" T( Z) k' T2 v};! T, w/ k8 H5 ], J
    6 q* B# U' `9 O: @, c
    #endif//_HANDLE_H; R) `4 f5 U. j/ A: O. S9 a

    + ^! N2 O) B0 L& C6 u1 r2 z* E类class的函数定义
    5 [- [: Y" ^7 I) p2 {#include<iostream>
    2 U3 Q" I, s9 k) i2 w3 K( y* @$ V#include<vector>: G  c' r" R9 s4 K, `
    #include "handle.h") D. D# c# P& X: M
    using namespace std;
    " J$ u/ V: c. Y8 q' o( l# {5 O9 e8 _2 w. D3 M
    struct Handle::StackOfInt{2 M$ J- O+ E# f% K( Y
        vector<int> top;
      r% ?' H. s5 g& w) n};
      Y: x2 h( H# ]5 R; x8 m  A. F! y: Y6 p, y
    void Handle::initialize()% u; B6 l$ ?) O+ E% I
    {+ ^$ |% V3 W5 @
        StackOfInt* smile = new StackOfInt;
    ( X+ L) p; M% i" M2 ?    smile->top.reserve(100);
    ; C; n+ J+ U/ g8 G$ j    cout << smile->top.capacity() << endl;8 W+ l6 p% q+ e  r" j
    }
    & c# j1 U/ ]  s6 Y$ X* `
    ) u) V, P3 h/ `. J! H; s, }1 y1 \( Evoid Handle::cleanup()
    9 g' m2 A* r$ S1 \( }{  ?6 H; [# R0 k
        delete smile;
      v9 o, y) {2 c}4 e+ _  C3 A* P( w/ ]: U
    ) ~0 y0 X- m4 y
    void Handle::push(int elem)2 ]( C6 `* y1 ^) t2 Y
    {
    - Y$ |# J! e- m8 M# Z! q4 F    cout << "before push\n";
    + j3 m6 {. E0 C; m' A% q- o. f    smile->top.push_back(elem);
    2 T- j* N- ~7 U& U3 T! o$ L$ b    cout << "after push\n";
    6 }/ e2 Y  Z8 O3 @  j5 u}7 j' x* G+ D9 }* `
    int Handle::fetch()
    6 U) L# n5 `9 ?{
    4 b( H- k$ [5 C/ W. f6 D# f) a; m    return smile->top.back();/ Z1 l% h1 _' z& r% d  A
    }3 K! ]0 J: b7 }/ _& q7 L
    int Handle::pop()
    2 q( f4 t. [* n  d0 [{0 H; H! s+ u7 O) o
        int n = smile->top.back();$ s: G+ @: ?( z2 J/ b5 [7 `
        smile->top.pop_back();
    9 }, Q7 [* G# R    return n;3 T6 f6 m, {  W" U( i% P/ W
    }; Q- D9 W+ j7 e
    int Handle::count()
    : I+ p8 A3 p8 P/ ~- U' s0 I4 M{* L. |8 s0 b3 l# B
        return smile->top.size();
    5 H) C0 S, \3 l}* `5 i& x- X( t( t# Z7 T0 ~7 h# h

    + P. i* H* \& e/ o3 g3 K" U主函数 main.cpp' q0 [# O" \7 G+ Q! ^4 |+ J/ Q
    #include<iostream>6 A/ @# Z3 K, A4 ]6 Q+ x: v
    #include "handle.h"
    " g; F2 t* u% U4 M' i, Vusing namespace std;
    % Z  B% @; s7 B# a+ K/ Q, f- p9 R
    int main()
    ! A7 l5 |  Q' L$ k{% f2 l' f4 N$ j9 V) b( Y
        Handle h;" R1 q; M2 @3 W5 P
        h.initialize();# g. c" D1 m: |7 E, n9 c, ?9 |
        for (int i = 0; i < 10; i++)
    % v! R! M6 j# n3 b7 F: ^    {
    2 [1 v* y* k, p$ \2 S        h.push(i);
    - a" z! J- p9 o$ b( [" w- [        cout << "last element is " << h.fetch() << endl;7 X( @# l. }/ y1 q9 T
        }" p% |5 L: ^( A) U3 h$ N
        for (int i = 0; i < 10; i++)
    % |4 G. k# e" A    {: G! ^9 O0 s8 `4 H$ Z! C4 ]+ N* E, Z
            h.pop();5 A5 K# S1 B3 g; X, V* _% b
        }; f( w7 {# p* w8 k+ x# c) O6 F
    ! Z" Q; s4 V' A4 a- o
        return 0;
    ) @' u: w2 C. g7 `7 X5 d}
    , `. @; `) V* G/ G* U& |: r+ e8 ^

    8 k" @0 S& q  w$ C+ {, T0 D- R# S
    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-31 17:00 , Processed in 0.510161 second(s), 57 queries .

    回顶部