标题:help 关于容器问题
取消只看楼主
wonderfulday
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-7-28
 问题点数:0 回复次数:8 
help 关于容器问题

例如:

我自定义了一个class A, 使用容器list,生成一个 list<A>. 请问如何使用

push_back(); push_front() 等方法呀?

搜索更多相关主题的帖子: 容器 help push list 定义 
2004-12-09 11:30
wonderfulday
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-7-28
得分:0 

没关系,不好意思的系我,是我导致你误会了

push_back(element),push_front(element),原型是带参数的

比如我的class A 带多成员变量

class A{

int in; char ch; float fl;

public: A(){ //init...}

}

live 41.push_back(elements) 参数elements 该怎样写呀?

我的意思是将一个class 的对象装入容器 list 里


2004-12-10 12:19
wonderfulday
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-7-28
得分:0 

实际上这只是个特例,我想说的是如果容器的对象不是单一的类型如int string double 这些 。

而是一些稍微复杂的class,我们如何可以操作(如修改)装在容器里的class的成员变量的值??


2004-12-10 13:12
wonderfulday
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-7-28
得分:0 
看来我还是说得不够明白

2004-12-10 18:29
wonderfulday
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-7-28
得分:0 

//////////////////print.h

#include <iostream>

#include <vector>

using namespace std;

class Text{

int a;

int b;

public:

void initText( int aa , int bb){a=aa; b=bb;}

};

/////////////////////pirnt.cpp

#include "print.h"

using namespace std;

main(){

Text tex ; tex.initText(1,24); vector<Text> temp; temp.push_back(tex);

}

我把tex装进容器里面,但 Text 不像int ,Text 的结构复杂了点,我想问的是把一个复杂的类型装入容器里,怎样修改

和输出里面的成员。


2004-12-10 19:11
wonderfulday
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-7-28
得分:0 

temp.push_back(t1);

temp[0]=t2;

这样做等于是整体的翻新吧, 输出就是例如 temp[0]=t2;int xxxx=(temp[0] 里的 t2.a)


2004-12-11 01:44
wonderfulday
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-7-28
得分:0 

你说得也对

我只是一边学,一边想。。。想到什么不明边拿上来问


2004-12-12 22:45
wonderfulday
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-7-28
得分:0 

//////////////print.h

#include <iostream> #include <vector> #include <string>

using namespace std;

class Text{ int NO; int age; public: void initText(int NOs, int ages){NO=NOs;age=ages;} int get_NO(){return NO;} int get_age(){return age;} };

///////////////////////////////////transform.cpp

#include <iostream> #include <vector> #include <set> #include <algorithm> #include "print.h"

using namespace std;

main(){

Text tex ; tex.initText(1,24); vector<Text> temp; temp.push_back(tex); tex.initText(3,23); temp.push_back(tex); tex.initText(3,23); temp.push_back(tex); cout<<temp[0].get_NO()<<endl; cout<<temp.size()<<endl;

}


2004-12-14 12:15
wonderfulday
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-7-28
得分:0 

我想是可以的,只是不知道如何运用容器 迭代器 和 算法


2004-12-14 12:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-9068-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.423155 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved