QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5645|回复: 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
    " T8 \: {7 e  Z8 h% u9 T4 K#ifndef _HANDLE_H
    ; T+ y9 w. [# A& ?#define _HANDLE_H/ @% @$ g  V4 n& {
    1 W) ~" w0 }$ Y% q
    class Handle{" S& O! l2 h' j# v: T
        struct StackOfInt;
    8 P5 V; |6 N7 X7 v7 D    StackOfInt* smile;0 k9 B( c# ^1 _) J# N! ~
    public:
    # q) T+ L% P  a2 p7 R4 F! K    void initialize();
    4 B+ y1 Z1 m3 A8 s" y2 o* W8 }    void cleanup();
    $ p" W% P6 q' ^+ l' R; r' b    void push(int elem);+ _! B' [7 E, {
        int fetch();
    ! u0 p' n( Y/ e    int pop();1 ^. g: j# q+ y" m
        int count();
    2 w' r3 t2 a  D! j: [1 A( [: t};* R7 l+ V* ?9 {5 [, F$ i+ W

    0 Q8 |6 [) R) b# t4 B7 ]/ s#endif//_HANDLE_H/ N6 M6 @; O; l1 Y
    % z. Q1 J9 p$ T% @/ l. y
    类class的函数定义
    " D: `8 ]' [, {$ O+ ]6 D+ D#include<iostream>; Q* C+ ^% u# Y. z+ M, ]# I
    #include<vector>
    6 D" H$ L( C9 }6 r( E$ ]" E0 O' U#include "handle.h"+ F# m6 ^  R0 `0 }; p
    using namespace std;
    ' a* u7 U0 }. O# o- b1 F, d! t/ i. L( y  l) [; i* Z6 @$ [
    struct Handle::StackOfInt{
    % `( m4 G' v0 Q9 Z: T) E    vector<int> top;
    / o6 }4 ]  I4 w8 N};
    2 C, v" t. k+ G
    ; p/ v! U, ?% b; Jvoid Handle::initialize()/ J: \+ S5 ^0 a" F9 A& e! G
    {
    , Y4 L1 @' _0 G( u+ `' P; }; p7 n2 p" f    StackOfInt* smile = new StackOfInt;
    . }0 O- b" k% `; k" l    smile->top.reserve(100);
    1 p) E9 `% T; e1 d' ^    cout << smile->top.capacity() << endl;: v! s5 j$ V6 Y8 r; R2 {
    }
    * ?) M9 i. u9 t# t, ]4 ^
    ! U  l) {. Y8 R! F6 Ovoid Handle::cleanup()  }' E+ `/ k7 \: L
    {& q& g5 a4 Z0 P
        delete smile;
    $ q) x# d+ |8 c7 ?3 l/ q}, L$ q8 Y6 `3 c! I) s7 m

    ) A& \1 L7 q0 t) Q# nvoid Handle::push(int elem)) U$ X1 e& j3 J/ W# Y
    {' x' A6 v* I- s# x; S1 }4 l1 F6 E
        cout << "before push\n";* }/ k0 v: J4 }0 \4 U) r
        smile->top.push_back(elem);
    $ g5 x2 c/ @% s  _, D3 `( q6 m! ]    cout << "after push\n";
    ) z( M6 H+ o) w3 j' d}
    7 d4 a& b1 \* P* p, \" m: Mint Handle::fetch()
    . [: a, y; V" F9 r{
    & j3 ]* y: y) i5 N, |& \- S8 d    return smile->top.back();
    6 b% S4 g" i" j6 P4 s* h( \}
    * i$ ~3 @* a/ q" b+ w5 A" Fint Handle::pop()1 P6 g% Q$ f6 `& O% d! d
    {
    $ @2 K+ Y1 F$ M: l    int n = smile->top.back();9 y- ~: \: i/ {$ I# M" z* a
        smile->top.pop_back();
    ; Z! I! s) ^' ]# u& P    return n;
    * J$ s  B0 k% Q1 ?/ [}. a8 x3 x+ Q1 W. L6 S- q* B, v, F
    int Handle::count()
    3 W& H3 J* q& e& g0 g3 @' f9 ^{
    8 P8 ~! n# E0 B8 K; }. M    return smile->top.size();5 `3 r! b1 V# j2 w0 s" z9 q" ^" q
    }+ P! c2 j  ~9 B6 @1 `7 Q
    2 `. J7 U5 ]* z1 y+ o8 S/ Q
    主函数 main.cpp
    ! W7 N( u5 ?1 D% h7 I7 R#include<iostream>$ M4 o+ r1 c9 ^$ Y6 T3 Q
    #include "handle.h"
    - Q$ J8 p0 i! o% D+ t. r& ~2 v- Q) iusing namespace std;
    - a9 A' b0 d. l7 C! ^' H7 S/ y* h6 `$ z# k  e. U
    int main()6 N" r% D! a7 q+ Y/ K6 \# \% p
    {
    5 T/ J( \' }/ x0 C    Handle h;6 R7 c/ Y" w: b; ^; o! `) i
        h.initialize();
    0 n  V" v- E& i0 x, F* E    for (int i = 0; i < 10; i++)) v$ z9 X3 L; @
        {# U* O  _4 o- g: }
            h.push(i);7 M. b9 N1 f4 y7 {8 g& c( x
            cout << "last element is " << h.fetch() << endl;7 s1 k, m- {5 n, i0 p% y7 h2 n' b
        }
    0 M& o1 @. S/ b; m% y    for (int i = 0; i < 10; i++)
    ; g3 J6 B# U+ J9 P% A4 A2 h    {
    + m- ]. n9 r. L+ f$ M        h.pop();
    : k& K7 f( F9 G8 B    }+ Y% K" U& E  [" L" ]- v) u- ~
    ' n& I& R1 R3 g& S
        return 0;8 ~) i+ r' `4 Y; z7 F/ W4 B, A
    }
    ) \+ W) N) b3 [3 K* @8 M5 D6 P7 \/ }' T2 L' t) c
    ' w# _5 y' h( X3 V" g9 q; t6 ?
    ! m" f" p9 g  j9 W; Z6 z
    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-9-2 02:02 , Processed in 0.336684 second(s), 57 queries .

    回顶部