ChangeUnidirectionalAssociationToBidirectional(将单向关联改为双向关联)
来源:互联网 发布:jquery post提交 php 编辑:程序博客网 时间:2024/06/08 15:17
#ifndef CHANGEUNIASSOCTOBID_H_#define CHANGEUNIASSOCTOBID_H_#include <set>#include <string>class Customer;class Order{public:Order(std::string id = "", Customer* cus = NULL);void setCustomer(Customer& arg);std::string getCustomer();std::string getId() const;bool operator<(const Order& arg) const;private:std::string id;Customer* customer;};class Customer{public:Customer(std::string arg);void add(Order& arg);void del(Order& arg);const std::string getName() const;void getOrder();private:std::string name;std::set<Order> orders;};#endif /* CHANGEUNIASSOCTOBID_H_ */
#include "ChangeUniAssocToBid.h"#include <iostream>using namespace std;Order::Order(string id, Customer* cus):id(id),customer(cus){}string Order::getCustomer(){return customer->getName();}bool Order::operator <(const Order& arg) const{return this->id < arg.id;}void Order::setCustomer(Customer& arg){if(this->customer){this->customer->del(*this);}this->customer = &arg;this->customer->add(*this);}string Order::getId() const{return id;}Customer::Customer(string arg):name(arg){}const string Customer::getName() const{return name;}void Customer::add(Order& arg){orders.insert(arg);}void Customer::del(Order& arg){orders.erase(arg);}void Customer::getOrder(){set<Order>::iterator it = orders.begin();while(it != orders.end()){string id = (*it).getId();cout<<id<<endl;it++;}}void ChangeUniAssocToBid(){Order o1("1");Order o2("2");Customer c1("Tom");Customer c2("Jerry");o1.setCustomer(c1);o2.setCustomer(c2);cout<<c1.getName()<<" has order "<<endl;c1.getOrder();cout<<c2.getName()<<" has order "<<endl;c2.getOrder();o1.setCustomer(c2);cout<<c1.getName()<<" has order "<<endl;c1.getOrder();cout<<c2.getName()<<" has order "<<endl;c2.getOrder();}
0 0
- ChangeUnidirectionalAssociationToBidirectional(将单向关联改为双向关联)
- Change Unidirectional Association to Bidirectional(将单向关联改为双向)
- Change Bidirectional Association to Unidirectional(将双向关联改为单向)
- 8.8 change bidirectional association to unidirectional (将双向关联改为单向关联)
- 重新组织数据之七 :Change Unidirectional Association to Bidirectional(将单向关联改为双向)
- 重新组织数据之八 :Change Bidirectional Association to Unidirectional(将双向关联改为单向)
- 一对一单向双向关联
- Hibernate的单向关联和双向关联
- 什么时候用单向关联和双向关联
- 什么时候用单向关联和双向关联
- hibernate单向关联与双向关联
- Hibernate XML一对一主键关联 单向+双向
- 多对多关联映射 单向+双向
- Hibernate 一对一主键单向、双向关联
- hibernate一对多单向、双向关联
- hibernate中----一对多单向关联,一对多双向关联
- hibernate单向关联和双向关联的区别
- 对象/模型中的单向关联和双向关联
- 加载资源文件
- mac OS X 10.9.3 上emacs 24.1 org-mode8.26 输出中文pdf
- Kruskal生成树算法的java代码简单实现
- Wix 学习 (十二)
- 案例分析:基于消息的分布式架构
- ChangeUnidirectionalAssociationToBidirectional(将单向关联改为双向关联)
- 最短路算法
- 【hadoop之翊】——CentOS6.5 Linux上面编译Hadoop2.4源码
- Android NumberPicker默认外观的修改
- HDU 3535 AreYouBusy 题解(动态规划)
- Set Matrix Zeroes
- weka[8] - Logistic Regression
- 带缓存的HTTP代理服务器(三)
- 读取文档-写入ini文件中