| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 617 人关注过本帖
标题:C++ list链表问题 这些错误是为什么啊
取消只看楼主 加入收藏
KANCY
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-3-15
结帖率:0
收藏
 问题点数:0 回复次数:3 
C++ list链表问题 这些错误是为什么啊
#include "stdafx.h"
#include<iostream>
using namespace std;
//---------------------
class TNode
{
    friend class TList;
    friend ostream& operator<<(ostream& os,TNode& node);
public:
    TNode(int data=0);
   
private:
    int m_data;
    TNode* next;
};
ostream& operator<<(ostream& os,TNode& node)
{
    os<<node.m_data;
    return os;
}
TNode::TNode(int data)
{
    m_data = data;
    next = NULL;
}

//----------------------
class TList
{
public:
    void InsertFirst(int data);
    void InsertLast(int data);
public:
    void Show();
private:
    TNode* Tail();
private:
    TNode head;
};
void TList::Show()
{
    TNode* p = this->head.next;
    while(p != NULL)
    {
        cout<<(*p)<<" ";
        //
        p = p->next;
    }
    cout<<endl;
   
}
TNode* TList::Tail()
{
    //节点的next==NULL
    TNode* p = &head;
    while(p->next != NULL)
         p = p->next;
    return p;
}
void TList::InsertLast(int data)
{
    //找到最后一个节点
    TNode* last = Tail();
    //创建一个新节点:构造函数中赋值
    TNode* pNode = new TNode(data);
    //插入链表:位置
    last->next = pNode;

}
void TList::InsertFirst(int data)
{
    //创建一个新节点:构造函数中赋值
    TNode* pNode = new TNode(data);
    //插入链表:位置
    pNode->next = this->head.next;
    this->head.next = pNode;
}
//=========================================
//
template<class T>
T Add(T x,T y)
{
    return x+y;
}
//----------------------------------------
int main(int argc, char* argv[])
{
    TList lst;
    lst.InsertFirst(1);
    lst.InsertFirst(10);
    lst.InsertFirst(19);
    lst.InsertLast(29);
    lst.InsertLast(129);

    lst.Show();

    int n = Add(1,10);
    double fn = Add<double>(1.0,2.3);
    //------------------------
    return 0;
}

error C2248: 'm_data' : cannot access private member declared in class 'TNode'
        list\list.cpp(16) : see declaration of 'm_data'
list\list.cpp(48) : error C2593: 'operator <<' is ambiguous
搜索更多相关主题的帖子: private include public friend 
2013-04-08 17:05
KANCY
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-3-15
收藏
得分:0 
什么意思啊这错误
2013-04-08 17:05
KANCY
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-3-15
收藏
得分:0 
回复 3楼 peach5460
不是已经定义友元了吗,那个是友元函数
2013-04-11 22:30
KANCY
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-3-15
收藏
得分:0 
回复 7楼 yty123193
  那个运算符重载的怎么回事啊
2013-04-11 22:39
快速回复:C++ list链表问题 这些错误是为什么啊
数据加载中...
 
   



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

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