| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 736 人关注过本帖
标题:[求助]求助一个vector的问题
只看楼主 加入收藏
chowchen
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-5-19
收藏
 问题点数:0 回复次数:9 
[求助]求助一个vector的问题
在使用vector时,std::vector<T>,如果T是一个自定义的类型,如自定义的类,则在使用
push_back时总不能得到正确的负值。
class B
{public:

};
class C
{
public:
int c;
int e;
B d;
public:
C(int a1,int a2) {c=a1;e=a2;};
~C();
};

main{
std::vector<C> c;
c.push_back(C(1,2)); //这句老出问题,不知道什么原因,好像不能将一个值送入vector
}

请各位大虾指点一下
搜索更多相关主题的帖子: public int vector std push 
2006-05-19 09:07
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
以下是引用chowchen在2006-5-19 9:07:00的发言:
/*在使用vector时,std::vector<T>,如果T是一个自定义的类型,如自定义的类,则在使用
push_back时总不能得到正确的负值。*/
class B
{public:

};
class C
{
public:
int c;
int e;
B d;
public:
C(int a1,int a2) {c=a1;e=a2;}//;
/*建议写个默认构造函数,因为你已经定义了构造函数,系统不会分配默认构造函数了,但是你声明了一个自定义类型容器*/
~C(){}//;
};

main(){
std::vector<C> c;
c.push_back(C(1,2));
//这句老出问题,不知道什么原因,好像不能将一个值送入vector
}

请各位大虾指点一下


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-19 10:04
chowchen
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-5-19
收藏
得分:0 
我编了一个默认的构造函数,好像还不行
2006-05-19 10:39
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
你是说什么不行?你又不说具体一点,我在我机器上编译过了的,通过了啊

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-19 10:44
chowchen
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-5-19
收藏
得分:0 
编译是可以的,但是调试时结果不对
感谢wfpb的帮助
2006-05-19 14:25
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
你的源程序里需要达到的功能里哪里出现错误?

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-19 19:50
chowchen
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-5-19
收藏
得分:0 

就是把只写入c中,怎么都写不进去,c中都是-842150451

2006-05-20 20:59
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

没错啊!输出的结果是:1 2
#include<iostream>
#include<vector>
using namespace std;
/*class B
{public:

};*/
class C
{
public:
int c;
int e;
//B d;
public:
C(int a1,int a2) {c=a1;e=a2;}//;
/*建议写个默认构造函数,因为你已经定义了构造函数,系统不会分配默认构造函数了,但是你声明了一个自定义类型容器*/
C(){}
void display(){cout<<c<<" "<<e;}
~C(){}//;
};

int main(){
std::vector<C> c;
vector<C>::iterator Item;
c.push_back(C(1,2));
Item=c.begin();
Item->display();
//这句老出问题,不知道什么原因,好像不能将一个值送入vector
system("pause");
return 0;
}


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-20 21:08
chowchen
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-5-19
收藏
得分:0 
wfpb,你把 B d 注释掉了,如果这这句不注释了?
2006-05-20 21:20
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
肯定没影响列,你的class完全是个空架子

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-20 21:42
快速回复:[求助]求助一个vector的问题
数据加载中...
 
   



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

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