QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5625|回复: 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.h2 O8 m2 |3 ^  p" y9 W1 h0 [
    #ifndef _HANDLE_H
    0 r& e+ {9 Z) A+ ^% F& ~* K#define _HANDLE_H
    . n" u0 {5 T$ H) U5 ~+ z) K. I" x) Z5 \4 C* a( t
    class Handle{% t0 D2 q% x& w+ r3 N
        struct StackOfInt;
    ' @  \- O- B( V* ^' U1 |# j    StackOfInt* smile;
    0 n2 O5 }, s! q3 c, x' p- xpublic:1 ^9 r3 t0 J2 p, K5 p+ q0 R/ C
        void initialize();7 [0 p# B7 z9 a  N  }; J
        void cleanup();
    1 ]5 E! u# g6 s2 `    void push(int elem);+ U# b. l% p7 D  ~* u' D
        int fetch();
    + ?- B7 T! R3 {% A# Z0 O    int pop();" R) A0 C; {# V' Q" b
        int count();
      k8 j6 n! G3 t0 Y};
    + @1 a/ x* U  @. ^( o
    " O" m4 M# h0 Y#endif//_HANDLE_H/ i. U7 e4 G5 v! G6 w6 g
      X9 C% f: Q. Y, E8 H
    类class的函数定义4 q0 A6 {' }+ u4 D2 k, y
    #include<iostream>
    4 Y# `: t% S- N/ P* {( t' R#include<vector>
    + U/ R- ?+ q, i#include "handle.h"
    % l' v; M( v, B2 cusing namespace std;* b' E% {" n" _3 Z

    - h+ z/ N+ ?$ c) [% z6 [struct Handle::StackOfInt{
    & A  ~: A4 ^! n; K6 k  k    vector<int> top;
    2 g9 t' h( f% T2 P4 a/ D0 V. f};
      t: m  r8 q* c  L# h2 V0 o" a! W4 o* E) r
    void Handle::initialize()4 [3 G  |$ x' w; F0 v% q7 O
    {
    ' m7 ^7 i2 ?" _) M  [( ?" p    StackOfInt* smile = new StackOfInt;
    ) ], [5 W# E& T& B% W/ L6 `. i    smile->top.reserve(100);6 ~- T( m; ^. l& n. o# S' _
        cout << smile->top.capacity() << endl;
    2 r- Y; h# o# v1 y}
    / b' y: |: X/ p* H) k% c0 w
      B- |2 P9 x5 D; v% z3 b* ^void Handle::cleanup()
    / D, |5 o, @, k4 i5 \0 J{
    - E/ X; R$ @5 O& x9 M' _    delete smile;
    5 X2 `2 u, b$ f: I( T9 C2 K}
    % Y$ c& J( {( _3 E
    0 n9 `4 h5 [2 g% T, ovoid Handle::push(int elem)
    7 V9 ?; ~+ f5 W+ C2 z4 m6 o{
    " ^& [  }9 Y, G; S% }    cout << "before push\n";  l8 k0 Y) n5 G+ ~2 Z
        smile->top.push_back(elem);
    ( D; K" n* d) ]! F    cout << "after push\n";
    % p' H! v. C, B+ I}+ H5 _. m& y2 x1 B* e5 y
    int Handle::fetch()+ m* J! G- c0 `" X
    {
    9 _6 u4 Y; t" l9 k' \    return smile->top.back();
    2 J; m' O; Q# [5 `}
    1 U$ ~' H' J6 h$ X, {int Handle::pop()) k8 N2 Z9 O, f. X, [3 p5 ~
    {9 X5 w7 }; w9 h" o, l# F/ x* n' d
        int n = smile->top.back();# v+ h/ [) U  e! u% Q6 K0 I
        smile->top.pop_back();1 {( e! H3 _  e- u
        return n;
    ( b0 F' ^4 Z1 c; A}4 ^* E* A: P- d8 L9 u
    int Handle::count()" e# _$ W- _% R/ e5 n3 z/ {) M& R
    {
    * X' Y% b+ N5 h3 o! y! o. @    return smile->top.size();: w% K' L9 W3 K7 J
    }5 |& H; Y: P) L

    3 U0 D4 A; x  l( B主函数 main.cpp# b% f& e* q+ X5 J% d% B
    #include<iostream>) R- {0 J& U. w2 q( u+ k& }
    #include "handle.h"0 a# `# d# Y& ^" K7 v* _
    using namespace std;
    1 s6 `7 t1 W/ m5 ]/ a$ V' o( ~( Z7 D! m  K5 g$ u! q* b
    int main(). ]* v& A8 L( Z5 q
    {
    : g: U* U; x+ h9 o' D7 P$ J( {, |    Handle h;
    & o( F0 A3 k' [' U7 z    h.initialize();
    5 e( l) H! m& Z3 j# {9 {4 a7 |9 f    for (int i = 0; i < 10; i++)
    - R& Z" Q5 j" B9 W5 l    {! X) Q" Z8 V5 n3 U, D
            h.push(i);/ V0 h/ K0 l" l# D: e! P7 d
            cout << "last element is " << h.fetch() << endl;
    - W$ K& ?6 E0 k' F0 l6 n    }" W; s+ j/ v/ S) |- [
        for (int i = 0; i < 10; i++)
    3 D1 t8 `! J  u+ x/ t    {# m9 t2 p# w. T
            h.pop();
    ) k+ u0 @$ R9 y  I4 ~    }
    ) n7 A1 s5 F; |) ?9 U
    ' k$ g7 K% T( x" R) v. J+ X/ v    return 0;, v. _4 S6 f+ V5 f* x
    }3 ^# V  I; M% j; e# Z

    5 M6 ]# w1 ~8 A0 g* G" A5 @" x/ d0 p$ L  w
    - s4 R  t2 R" l
    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-3 00:19 , Processed in 0.452150 second(s), 57 queries .

    回顶部