请将下列模板类Data补充完整。 template class Data{ public: void put(T v){va请将下列模板类Data补充完整。template <typename T>class Data{public:void put(T v){val=v;}______get( ){return val;} //返回数据成员val的值,返回类型不加转换private:T val;};

题目
请将下列模板类Data补充完整。 template class Data{ public: void put(T v){va

请将下列模板类Data补充完整。

template <typename T>

class Data{

public:

void put(T v){val=v;}

______get( ){return val;} //返回数据成员val的值,返回类型不加转换

private:

T val;

};


相似考题
更多“请将下列模板类Data补充完整。 template <typename T> class Data{ public: void put(T v){va ”相关问题
  • 第1题:

    ( 15 )请将下列模板类 Data 补充完整。

    template <typename T>

    class Data{

    public:

    void put (T v) { val=v; }

    【 15 】 get() // 返回数据成员 val 的值,返回类型不加转换

    { return val; }

    private:

    T val;

    };


    正确答案:

  • 第2题:

    阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。

    【说明】设单链表的结点类和链表类的定义如下,链表不带有表头结点。请填空:

    include<iostream.h>

    include<assert.h>

    template<class T>class List;

    template<class T>class ListNOde{

    friend (1);

    private:

    T data;

    ListNode<T> *link;

    public:

    ListNode():link(NULL)()

    ListNOde(const T& item,ListNOde<T>*next=NULL)

    :data(item),link(next){}

    };

    template<class T>class List{

    private:

    ListNode<T>*first;

    void createList(T A[],int n,int i,ListNOde<T>*&p);

    void printList(ListNOde<T>*p);

    public:

    List();

    ~List();

    friend ostream& operator<<(ostream& ost,List<T>&L);

    friend istream& operator>>(istream& ist,List<T>&L);

    };

    template<class T>

    istream& operator>>(istream& ist,List<T>&1){

    int i,n; ist>>n;

    T A[n];

    for(i=0;i<n;i++) (2);

    createList(A,n,0,first);

    }

    template<class T>

    void List<T>::createList(TA[],int n,int i,ListNOde<T>*& p){

    //私有函数:递归调用建立单链表

    if(i==n)p=NULL;

    else{

    p=new ListNode<T>(A[i]);

    assert(p !=NULL);

    createList((3));

    }

    }

    template<class T>

    ostream& operator<<(ostream& ost,List<T>& L){

    (4);

    }

    template<class T>

    void List<T>::printList(ostream& ost,ListNode<T>*p){

    if(p!=NULL){

    ost<<p->data;

    (5);

    }

    }


    正确答案:(1)class ListT> (2)ist>>A[i] (3)Ani+1p->link (4)printList(ostfirst) (5)printList(p->link)
    (1)class ListT> (2)ist>>A[i] (3)A,n,i+1,p->link (4)printList(ost,first) (5)printList(p->link) 解析:(1)class ListT>
    模板类class T>class List必须声明为模板类class T>class ListNode的友元类,这样模板类class T>class List的所有成员函数都可以直接访问模板类class T>class ListNode的私有成员。
    (2)ist>>A[i]
    重载友元函数>>,从输入流对象ist读取具有n个值的数组A[],调用成员函数createList建立链表L。
    (3)A,n,i+1,p->link
    递归成员函数createList,根据给定的具有n个值的数组A[],建立以指针p为头指针的单链表。
    (4)printList(ost,first)
    重载友元函数,将first链表输出到输出流对象ost,调用成员函数printList实现。
    (5)printList(p->link)
    递归成员函数printLisk,输出以指针p为头指针的链表各结点所包含的数据到输出流对象ost中。

  • 第3题:

    有如下类定义,请将Sample类的拷贝构造函数补充完整。 class Sample { public: Sample(){} ~Sample(){if(p)delete p;} Sample(const Sample&s){ p=new int; *p=___________; } void SetData(int data) {p=new int(data);} void print(){cout<<*p<<endl;} private: int*p; };


    p=new int;p=s.p; p=new int;p=s.p; 解析:此题考查的是复制构造函数。复制构造函数定义的一般格式如下:类名::类名(const类名&引用对象名){复制构造函数体)。而在类中的声明部分可省去“类名::”。

  • 第4题:

    下列程序的运行结果是【 】。 include class SomeClass { public: SomeClass(int va

    下列程序的运行结果是【 】。

    include <iostream. h>

    class SomeClass

    {

    public:

    SomeClass(int value) { some_value=value;};

    void show_data(void) { cout<<data<<"<<~some_value<<endl; };

    static void set_data(int value) {data=value; }

    private:

    static int data;

    int some_value

    };

    int SomeClass::data

    void main(void)

    {

    SomeClass my_class(1001),your_class(2002);

    your_class. set_data(4004);

    my_elass. show_data()

    }


    正确答案:4004 1001
    4004 1001 解析:本题考查静态成员变量在不同对象间的共享现象。无论哪个对象修改了其静态变量的值,其他对象再访问该变量时已经发生了变化。

  • 第5题:

    有如下类定义,请将Sample类的拷贝构造函数补充完整。

    class Sample{

    public:

    Sample(){)

    ~Sample(){if(p)delete p;)

    Sample(const Sample& s){

    ______

    }

    void SetData(int data) {p=new int(data);}

    private:

    int*p;

    };


    正确答案:p=new int; p=s.p;
    p=new int; p=s.p; 解析:此题考查的是复制构造函数。复制构造函数定义的一般格式如下:类名::类名(const类名&引用对象名){复制构造函数体)。而在类中的声明部分可省去“类名::”。