UML泛化约束的实现
implementation of UML generalization constraints
我有这个代码:
#include <iostream>
#include <string>
using namespace std;
class User {
string name;
public:
User(string x):name(x)
{ }
void print() {
cout << "Name: " << name << endl;
}
};
class Director : public User
{
public:
Director(string x) : User(x)
{}
};
class Seller : public User
{
public:
Seller(string x) : User(x)
{ }
};
class Admin : public User
{
public:
Admin(string x) : User(x)
{ }
};
int main() {
User x("A");
Director z("B");
x.print();
z.print();
}
如何使用此 class 层次结构来呈现 classes:
总监、管理员、卖家是:
-完整,不相交(我猜这是我给出的代码示例)
-不完整,不相交(会一样吗?)
-完整,重叠
-不完整,重叠
您的 class 层次结构必须由 UML 的泛化集元素表示。
Disjoint 和 incomplete 是这个元素的属性。
我有这个代码:
#include <iostream>
#include <string>
using namespace std;
class User {
string name;
public:
User(string x):name(x)
{ }
void print() {
cout << "Name: " << name << endl;
}
};
class Director : public User
{
public:
Director(string x) : User(x)
{}
};
class Seller : public User
{
public:
Seller(string x) : User(x)
{ }
};
class Admin : public User
{
public:
Admin(string x) : User(x)
{ }
};
int main() {
User x("A");
Director z("B");
x.print();
z.print();
}
如何使用此 class 层次结构来呈现 classes: 总监、管理员、卖家是:
-完整,不相交(我猜这是我给出的代码示例)
-不完整,不相交(会一样吗?)
-完整,重叠
-不完整,重叠
您的 class 层次结构必须由 UML 的泛化集元素表示。 Disjoint 和 incomplete 是这个元素的属性。