Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2096058
  • 博文数量: 909
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 12260
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-06 20:50
文章分类

全部博文(909)

文章存档

2008年(909)

我的朋友

分类:

2008-05-06 21:59:16

一起学习
再谈“在STL列表(Lists)中插入不同类型的对象”


作者:周公建



看到贵网站上的一篇文章:“在STL列表(Lists)中插入不同类型的对象”。我觉得该文回答还没有指出问题的本质,所以本人提出我的观点,恳请指正。本人认为,错误产生的原因在于指针转化过程中,程序没有指出该指针最初的原型,或者说,由于未找到正确的子类函数地址才发生调用错误的,本人原代码如下:用Dev-cpp的g 编译通过。
#include

#include

#include 

#include 



/**

 * 父类:synObject

 */



class synObject {

 public :

	synObject();

 	string GetClass();

 	string className;

};



synObject::synObject()

{

	className = "synObject";

}



string synObject::GetClass()

{

	return className;

}





/**

 * 子类1:synPin

 */

 

class synPin : public synObject {

	string pin;

public :

 	synPin();

	void   SetPin(string Pin);

 	string GetPin();

private:

};



synPin::synPin()

{

	className = "synPin";

}



void synPin::SetPin(string Pin)

{

	pin = Pin;

}



string synPin::GetPin()

{

	return pin;

}



/**

 * 子类2:synCell

 */

 

class synCell : public synObject {

	string cell;

public :

	synCell();

 	void   SetCell(string Cell);

 	string GetCell();

private:

};



synCell::synCell()

{

	className = "synCell";

}

void synCell::SetCell(string Cell)

{

	cell = Cell;

}



string synCell::GetCell()

{

	return cell;

}



/**

 * 系统运行主程序

 */

 

int main()

{

	file://生成对象

	synObject * pMyObject;

	pMyObject = new synObject;



	synPin * pMyPin;

	pMyPin = new synPin;

	pMyPin->SetPin("myPin");



	synCell * pMyCell;

	pMyCell = new synCell;

	pMyCell->SetCell("myCell");

 

	//插入对象

	vector MyVector;

	MyVector.empty();

	MyVector.push_back(pMyObject);

	MyVector.push_back(pMyPin);

	MyVector.push_back(pMyCell);



	//调用对象

	vector::iterator ThisVector=MyVector.begin();

	cout<<"Program begin here:"<

      


下载本文示例代码


再谈“在STL列表(Lists)中插入不同类型的对象” 再谈“在STL列表(Lists)中插入不同类型的对象” 再谈“在STL列表(Lists)中插入不同类型的对象” 再谈“在STL列表(Lists)中插入不同类型的对象” 再谈“在STL列表(Lists)中插入不同类型的对象” 再谈“在STL列表(Lists)中插入不同类型的对象” 再谈“在STL列表(Lists)中插入不同类型的对象” 再谈“在STL列表(Lists)中插入不同类型的对象” 再谈“在STL列表(Lists)中插入不同类型的对象” 再谈“在STL列表(Lists)中插入不同类型的对象” 再谈“在STL列表(Lists)中插入不同类型的对象” 再谈“在STL列表(Lists)中插入不同类型的对象”
阅读(219) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~