读书人

关于成员选择操作符的有关问题有点看

发布时间: 2013-04-20 19:43:01 作者: rapoo

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

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的数据成员和成员函数啊,引用就是对象的一个别名

读书人网 >C++

热点推荐