English 中文(简体)
C++中的构件可以修改? 或者存在限制?
原标题:Structs in C++ can be modified? or there is a restriction?
  • 时间:2009-09-29 06:23:39
  •  标签:

我有这个类别,有两套char和另一套 st的两块 list子的双重清单模板

typedef struct KeyC{
     char K[5];
     char C[9];
} TKeyC;

typedef struct Bin{
     char Car;
     char Cad[9];
     TKeyC *KC;
} TBin;

class Bo {
    private:
        TDoubleList<TBin> *Ent;

    public:
            ...
}

我有办法创造节点。 没有任何问题,但当我呼吁采取其他方法,改变新锡卡角方向时,这只是偶然发生的。

TNode<TBin> *Aux;
TKeyC *AuxKC=new TKeyC;
Aux->getObj().KC=AuxKC;

我是否必须使用一个类别,而不是在这种情况下使用一个结构,还是存在一个结构问题,还是存在一个ug?

A. 更新

template <class T>
class TNode
{
    private:
         T TObj;
         TNode<T> *Prev,*Next;

    public:
        TNode();
        ~TNode();
        TNode(T);
        void setObj(T);
        void sPrev(TNode<T>*);
        void sNext(TNode<T>*);
        T getObj();
        TNode<T>* gPrev();
            TNode<T>* gNext();
};

这种方法得到采用 Obj:

template <class T>
T TNode<T>::getObj() {return(TObj);};
最佳回答

C++的一个结构是一个成员都是公开的阶层。 如果你的任务没有改变你想要它的价值,那么你就没有把你认为是什么。

www.un.org/Depts/DGACM/index_french.htm 因此,你更新了复印件的价值,原件保持不变。

提及您的物体,或者通过将getObj(改为T& 如果你有其他取决于行为的法律,则增加另一个职能。

问题回答

为什么在你宣布方向时使用关键词类型?

你们是否做了这项工作?

TBin x = Aux->getObj();
x.KC=AuxKC;

如果得到Obj()的点子回到物体上,则使用<代码>x->KC=AuxK/code。





相关问题
热门标签