QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5568|回复: 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& h. B. _% }# X% ]
    #ifndef _HANDLE_H$ q& u4 F9 a  F0 o6 {1 E( Q8 V
    #define _HANDLE_H% t) K: a/ y6 I" H" b$ n
    & R7 s& a& C  O; i* Q
    class Handle{
    : ]8 P( s1 E  S  R7 }% n" M% t    struct StackOfInt;  H, O& w5 B; P0 O' z
        StackOfInt* smile;) R1 O) M9 n! j: c7 C
    public:4 s0 y1 {) A/ X4 c" W9 t  H4 t
        void initialize();9 d  b; \. |$ r, V- q; C2 C5 d3 U
        void cleanup();
    4 E- [1 p1 `; f1 I    void push(int elem);. e$ ^& M6 n1 n" ]  c4 ^
        int fetch();3 g2 ^# i* Y. ?" q2 p$ F2 N
        int pop();% ~! C* Y0 q% v
        int count();' s* j5 U! E8 y6 b* s- d- d
    };- t3 k2 D, r  u2 g
    . A( @3 d7 X9 @% v# I% `$ t1 P
    #endif//_HANDLE_H; A/ u) `% C9 e1 c2 j0 O% L

    4 c+ S* j8 h9 q( e# \7 x类class的函数定义
    # p* ^  n# l8 O0 D7 ]. z' p8 }#include<iostream>' |3 w3 d8 ^3 C& m7 e. r
    #include<vector>
    , G7 A9 k: J3 ?1 R#include "handle.h", e+ m6 t% E' O# L& a
    using namespace std;
    " P# J, L" `) g, ~8 E$ m3 W1 H+ d: }- ]" H$ g0 g9 ^" k/ J4 [
    struct Handle::StackOfInt{" i" T! [# G; f
        vector<int> top;/ b; k% S" Q, t2 y$ ~
    };2 x) n7 [% N- D
    7 y- _9 F4 f9 k8 C8 z7 w
    void Handle::initialize()% u$ z# o8 r$ N1 [
    {
    ; |) ?9 d2 V" M' Y' B" |    StackOfInt* smile = new StackOfInt;
    1 b+ j/ X+ T+ m# i* q    smile->top.reserve(100);8 O* L. J3 O, k# V! n
        cout << smile->top.capacity() << endl;" q# G- f) [- y/ t
    }
    9 x' n" ^. j/ I7 m; k0 a4 D
    , t" y' g* f) x$ e; X0 g, p/ A6 gvoid Handle::cleanup()9 M) p% b7 K+ M
    {; \1 }$ L3 X# n: @& I
        delete smile;2 e  N& m8 F3 o; p/ w. }6 ?! R
    }
    & }7 v% p/ d! e% L! I0 y. k
    ! X, y' a9 N& V9 I, z2 |void Handle::push(int elem)
    $ t1 w( v) f, c- j) y" A+ ?9 h1 ?{
    4 W+ e3 u# z3 b5 I    cout << "before push\n";
    6 A) e7 `1 w: b    smile->top.push_back(elem);
    8 g9 W% Q1 n0 s) s) g1 C7 D    cout << "after push\n";
    8 U/ U7 t9 n. R+ e1 I  R}0 P; F( H$ `  C8 u& j8 u. T
    int Handle::fetch()
    : S0 n. ?# Q8 C2 [% S9 a! v{
    + c* |0 C- ]8 o& g( |    return smile->top.back();* G, x; H; K  s3 O6 @# D1 M
    }7 V0 X7 X. W% x3 v* x
    int Handle::pop()
    * k$ a5 ~+ S5 R( W  R{! q. O) ]5 a+ z; H1 u% k  j
        int n = smile->top.back();
    1 N1 T, B. G9 H# e$ U    smile->top.pop_back();
    3 L4 O) T. o! n* z# w    return n;
    : V$ m/ s! g& X6 j* k2 w}- }+ ^3 k7 @# ^; q) D# O
    int Handle::count()5 f- _$ n$ h$ F* t6 y$ W" C
    {! b4 v3 c5 [3 r' ^  o
        return smile->top.size();1 \( x. P# E! J! Q; V" l) h
    }; o; C- c3 x* z. l

    : |$ s- c1 @- u5 V) n主函数 main.cpp
    - l. Y1 C. o" b2 U#include<iostream>
    0 o' m- [- I4 I, N$ S/ |) e#include "handle.h"% ~% G) b4 Z- O' i
    using namespace std;
    4 _- V) b& e& ]5 o% T
    % L1 b$ \' B6 L/ c5 D; L1 X1 ~int main(): z' i: M4 E$ b# z  ]
    {
    5 R5 ]. ?7 r4 q. n" J; Y+ E    Handle h;
    ' k; c/ B7 t7 \) ^& V1 w7 [1 U  d, e    h.initialize();5 D  ]+ L# T: D7 D" \! e) }6 v
        for (int i = 0; i < 10; i++)
    - _( [$ e$ ~5 C/ z; M& B, _( ~    {! J; L& U6 h5 B7 v" n
            h.push(i);& O& ^9 W! g- l
            cout << "last element is " << h.fetch() << endl;* e* D6 G0 Q6 ^! U0 r
        }+ }. s/ ~4 T* G- `% ]( v+ |
        for (int i = 0; i < 10; i++): J0 v3 R0 x  W. Q+ v/ Y
        {
    7 `& c" A( s' U4 S% S. ?2 @( S        h.pop();* w. \  y) R) i" ?8 O* s
        }
    + y- v- L, p! q5 P$ O
    , D/ V/ O- e4 q" F. J    return 0;
    5 j, s6 [3 {9 ^2 ?3 u- p3 m: b}# m( c$ f, d( U5 H9 B8 }, u

    ! l' o- ^( ~# @( v0 I6 i3 Q/ `+ m
    0 D! c6 f0 _( J& ^+ V, h2 ^
    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-6-10 02:30 , Processed in 0.359014 second(s), 56 queries .

    回顶部