小编Syb*_*ian的帖子

为什么析构函数是一个两次调用的形式?

这个带入口点的代码调用两次析构函数.

void Main(array<String^>^ args)
{
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    MyApp::MyForm form;
    Application::Run(%form);
}
Run Code Online (Sandbox Code Playgroud)

我把它改成了

void Main(array<String^>^ args)
{
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    Application::Run(gcnew MyApp::MyForm);
}
Run Code Online (Sandbox Code Playgroud)

第二个版本只调用析构函数一次.

为什么最初被称为两次?

c++-cli winforms

3
推荐指数
1
解决办法
299
查看次数

在 UML 类图中添加约束

我需要绘制一个由以下语句组成的 UML 类图。

一个房子有一个地址,由几个房间组成。每个房间都有大小。它可以是卧室、客厅或厨房。一所房子至少由每种房间中的一个组成。

最后一个语句是一个约束,我需要将它添加到我的图表中。

UML类图

UPD:整个任务如下。

绘制一个 UML 类图,准确表示以下场景: 一个家庭由任意数量的孩子和一两个父母组成。每个家庭成员都是一个有名字和年龄的人。孩子们可以玩游戏,父母可以上班,他们可以在厨房做饭。一个家庭住在一个有地址的房子里,房子里有几个房间。任意数量的家庭可以住在一所房子里。每个房间都有大小。它可以是卧室、客厅或厨房。一所房子至少由每种房间中的一个组成。任意数量的人睡在卧室里。

uml class-diagram

2
推荐指数
1
解决办法
1531
查看次数

将特定大小的向量传递给函数

/* Class Hand represents a hand in Hold'em poker.
Namely the best 5 cards formed from 7 cards: 2 player's pocket cards
and 5 cards from the board.*/
class Hand {
public:
  Hand(const std::vector<CardPtr>& cardseq);
  /*...*/
};
Run Code Online (Sandbox Code Playgroud)

构造函数需要一个卡片向量.该类的内部逻辑基于给定向量由7张卡组成的假设.但我不是在控制它.我可以cardseq.size() != 7在构造函数中抛出异常.但是有没有其他方法通过控制初始化向量的大小来保持类实例的行为有意义?

c++

0
推荐指数
1
解决办法
152
查看次数

标签 统计

c++ ×1

c++-cli ×1

class-diagram ×1

uml ×1

winforms ×1