条款31将文件间的编译依存关系降至最低
来源:互联网 发布:剑三正太脸型喵太数据 编辑:程序博客网 时间:2024/05/17 00:03
将文件间的编译依存关系降至最低
1.handle方法:
第二种:interface方法:
1.handle方法:
class Date{public: Date(int a):date(a){}private: int date;};class PersonImpl;class Person{public: Person(const string &name,const Date &birthday); string name() const;private: tr1::shared_ptr<PersonImpl> pImpl;};class PersonImpl{public: PersonImpl(const string &name,const Date &birthday):theName(name),theBirthday(birthday){} string name() const { return theName; }private: string theName; Date theBirthday;};Person::Person(const string &name,const Date &birthday):pImpl(new PersonImpl(name,birthday)){}string Person::name() const{ return pImpl->name();}int main(){ Date bir(4); const string s="daizhou"; Person pc(s,bir); cout<<pc.name(); return 0 ;}
第二种:interface方法:
class Person{public: virtual ~Person(){} virtual string name() const=0; static tr1::shared_ptr<Person> create(const string &name);};class RealPerson:public Person{public: RealPerson(const string &name):theName(name){} virtual ~RealPerson(){} string name() const { return theName; }private: string theName;};tr1::shared_ptr<Person> Person::create(const string &name){ return tr1::shared_ptr<Person>(new RealPerson(name));}int main(){ const string s="daizhou"; tr1::shared_ptr<Person> pp(Person::create(s)); cout<<pp->name()<<endl; return 0 ;}
- 条款31:将文件间的编译依存关系降至最低
- 条款31:将文件间的编译依存关系降至最低
- 条款31:将文件间的编译依存关系降至最低
- 条款31:将文件间的编译依存关系降至最低
- 条款31:将文件间的编译依存关系降至最低
- 条款31将文件间的编译依存关系降至最低
- 《Effective C++》学习笔记条款31:将文件间的编译依存关系降至最低
- 条款31:将文件间的编译依存关系降至最低
- 《Effective C++》:条款31:将文件间的编译依存关系降至最低
- Effective C++笔记_条款31将文件间的编译依存关系降至最低
- 读书笔记《Effective C++》条款31:将文件间的编译依存关系降至最低
- 读书笔记_Effective_C++_条款三十一:将文件间的编译依存关系降至最低
- item31: 将文件间的编译依存关系降至最低
- 将文件间的编译依存关系降至最低
- 将文件间的编译依存关系降至最低
- Effectiv C++条款31 将文件间的编译依存关系降至最低 Handle Class和Interface Class完整实现
- Effectiv C++条款31 将文件间的编译依存关系降至最低 Handle Class和Interface Class完整实现
- Effectiv C++条款31 将文件间的编译依存关系降至最低 Handle Class和Interface Class完整实现
- Android工程目录结构
- 2013.03.07苦逼的工作一天
- DirectX11学习笔记一:准备工作_XMVECTOR的使用
- 浅析abstract class和 interface
- Page State–Step by Step
- 条款31将文件间的编译依存关系降至最低
- HTML5离线功应用能详解
- Maven2 介绍
- 利用freemarker 静态化网页
- 电脑时间倒流,程序拒绝穿越:应用程序发生异常 未知的软件异常(0xe06d7363)
- Open Virtual Machine Tools
- D. Ice Sculptures
- u-Boot启动分析4
- 15.2.2.3 传递字符串