| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 439 人关注过本帖
标题:C++ 构造函数、模板等几个问题
只看楼主 加入收藏
yuwenhui2008
Rank: 2
等 级:论坛游民
帖 子:2
专家分:10
注 册:2012-10-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
C++ 构造函数、模板等几个问题
大家好,我最近在学习数据结构,但是在C++方面碰到许多问题。以下是用C++定义一个基于数组的线性表,这个例子是书上给出的。

template <class T>
class LinearList
{
    LinearList (int MaxListSize = 10);  // 问题1
    ~LinearList ()
    {
        delete [] element;  // 问题2
    }
   
    bool IsEmpty() const  // 问题3
    {
        return length==0;
    }
   
    int length() const
    {
        return length;
    }
   
    bool Find (int k, T& x ) const; // return the k'th element of list in x  // 问题4
   
    int Search (const T& x) const; // return the position of x

    LinearList<T>& Delete (int k, T& x); //delete k'th elment and return in x;  // 问题5

    private:
        int length;
        int MaxSize;
        T* element;  // dynamic 1D array
};

问题1:能这样初始化吗?
问题2:有没有错?是不是应该这样delete element [];
问题3:后面跟个const什么意思?
问题4:为什么要用 T& x ,用 T x 作为形参行吗?
问题5:写成这样 LinearList<T> Delete (int k, T& x)行吗?

谢谢大家!
搜索更多相关主题的帖子: 线性表 return 
2012-10-17 20:57
范护最
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:26
专家分:24
注 册:2012-10-17
收藏
得分:10 
问题很多

1爱0
2012-10-17 21:59
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9032
专家分:54061
注 册:2011-1-18
收藏
得分:10 
问题1:能这样初始化吗?
这不是初始化,只是声明一个函数,函数参数具有缺省值。

问题2:有没有错?是不是应该这样delete element [];
delete[]是不可分割的

问题3:后面跟个const什么意思?
const成员函数,说明这个函数不修改对象的逻辑值。所谓逻辑值,就是非static成员,非mutalbe成员。

问题4:为什么要用 T& x ,用 T x 作为形参行吗?
Google一下什么叫引用。不过你这函数的作用我看不懂,简直是瞎搞

问题5:写成这样 LinearList<T> Delete (int k, T& x)行吗?
行,但含义不一样

其他:
LinearList (int MaxListSize = 10); 前面要加 explicit 修饰
看起来你这个类不可以使用浅拷贝,因此拷贝构造函数和赋值操作也是不可缺省的
2012-10-17 22:21
快速回复:C++ 构造函数、模板等几个问题
数据加载中...
 
   



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

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