gpt4 book ai didi

c++ - 在 UML 图中编码自关联?

转载 作者:太空宇宙 更新时间:2023-11-04 14:00:20 27 4
gpt4 key购买 nike

如果我有一个名为 Draw 的 UML 类,并且它与自己有一个关联,如下所示:

http://i.imgur.com/yifQN0p.png

如何在同一个类中为此创建 getter 和 setter?这是我的镜头:

#ifndef CDRAWABLE_H
#define CDRAWABLE_H
#include <list>

class CDrawable {
public:
virtual ~CDrawable();

void SetParent(CDrawable *mParent);
CDrawable *GetParent() const;

private:
//! \brief Default Constructor (Disabled)
CDrawable();
//! \brief Copy Constructor (Disabled)
CDrawable(const CActor &);
//! \brief Assignment Operator (Disabled)
CDrawable &operator=(const CDrawable &);

//! The parent of the drawable
CDrawable *mParent;

//! List of children of the drawable
std::list<CDrawable *> mChildren;

对于我的 .cpp:

#include "wx/prec.h"
#include "CDrawable.h"
#include <cmath>

using namespace std;


CDrawable::~CDrawable()
{
}

void CDrawable::SetParent(CDrawable *mParent)
{
this->mParent = mParent;
}

CDrawable *CDrawable::GetParent()
{
return mParent;
}

我在代码中省略了一些函数以使其不那么冗长。

编辑:这是我在编译时遇到的错误:

CDrawable.cpp:153:12: error: prototype for ‘CDrawable* CDrawable::GetParent()’ does not match any in class ‘CDrawable’
CDrawable.h:25:16: error: candidate is: CDrawable* CDrawable::GetParent() const

最佳答案

您的 GetParent 实现不应该像这样吗?你的与标题中的内容不匹配。

const CDrawable *CDrawable::GetParent() const
{
return mParent;
}

关于c++ - 在 UML 图中编码自关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19575371/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com