首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于成员选择操作符的有关问题,有点看不明白了

2013-04-20 
关于成员选择操作符的问题,有点看不明白了template class NODETYPE class List{public:List()//constru

关于成员选择操作符的问题,有点看不明白了

template< class NODETYPE >
class List
{
public:
List();//constructor
~List();//destructor
void insertAtFront( const NODETYPE & );
void insertAtBack( const NODETYPE & );
bool removeFromFront( NODETYPE & );
bool removeFromBack( NODETYPE & );
bool isEmpty() const;
void print() const;
private:
ListNode< NODETYPE > *firstPtr;//pointer to first node
ListNode< NODETYPE > *lastPtr;//pointer to last node

//Utility function to allocate a new node
ListNode< NODETYPE > *getNewNode( const NODETYPE & );
};

template< class NODETYPE >
void List< NODETYPE >::insertAtFront( const NODETYPE &value )
{
ListNode< NODETYPE > *newPtr = getNewNode( value );

if ( isEmpty() )//List is empty
firstPtr = lastPtr = newPtr;  
else
{
//List is not empty
/*nextPtr为另一个类数据成员,这里newpPtr->nextPtr什么意思,newPtr不是类对象,能这样调用nextPtr数据成员吗?*/
newPtr ->nextPtr = firstPtr; //?
firstPtr = newPtr;           
}
}

[解决办法]
nextPtr是ListNode类的数据成员,newpPtr为指向该类的指针,可以直接调用类的数据成员。
[解决办法]
引用的话,也是可以直接调用非private的数据成员和成员函数啊,引用就是对象的一个别名

热点排行