質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

1回答

6533閲覧

集約について

wug

総合スコア13

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2015/07/10 13:18

教室とプロジェクターを集約を使ってプログラムを完成させよという課題なのですが集約がいまいち理解していないので教えてください。

出力結果は
プロジェクターはHITEC製
となるそうです。

lang

1#include <iostream> 2#include <string> //文字列操作用 3using namespace std; 4 5//プロジェクタークラス定義 6class Projector { 7 string maker; //メーカー 8public: 9 Projector(string pmaker = "") : maker(pmaker){} 10 string getMaker()const{ return maker; } 11}; 12/////////////////////////////////////////////////////////// 13//教室クラス定義 14class Room { 15 Projector* projectorP; //プロジェクターオブジェクトを参照するポインタ 16public: 17 //プロジェクター設置 18 void setProjector(string smaker) 19 { 20 21 } 22 //プロジェクターをはずす 23 void removeProjector() 24 { 25 26 27 28 29 } 30 //プロジェクターのメーカー取得 31 string getProjectorMaker()const 32 { 33 if(projectorP != NULL) 34 { 35 return projectorP->getMaker(); 36 } 37 } 38 39 ~Room() 40 { 41 42 43 } 44}; 45/////////////////////////////////////////////////////////// 46int main() 47{ 48 Room* roomP(new Room); 49 50 roomP->setProjector("HITEC"); 51 cout << "プロジェクターは" << roomP->getProjectorMaker() << "製" << endl; 52 roomP->removeProjector(); 53 54 delete roomP; 55 return 0; 56} 57

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

UMLの集約とコンポジションの違いについて

集約:一方のオブジェクトがもう一方のオブジェクトを物理的、もしくは概念的に含んでいること。

質問のソースコードは、Roomクラスのメンバ変数として、
Projector クラスを含んでいるので、この状態が既に集約ですね。

ちなみに、メンバ変数を動的生成(ポインタで保持)するかどうかで、
集約とコンポジションとに分類されます。
(参考:C++言語 to UML

投稿2015/07/10 14:05

horohoro

総合スコア490

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問