| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 666 人关注过本帖
标题:【宅女求讲解一段程序】 virtual constructor
只看楼主 加入收藏
xixifans
Rank: 1
等 级:新手上路
帖 子:118
专家分:2
注 册:2012-11-15
结帖率:100%
收藏
 问题点数:0 回复次数:2 
【宅女求讲解一段程序】 virtual constructor
书上有一段程序。老师要求我们会运用。但是我怎么都看不懂= =
求大神讲解.。分不是很多 = =帮个俺的话可以去回我别的帖子。我在继续发分。。每天都有新分嘛!

这貌似是关于虚基类指针还是神马的东西。。还有clone函数virtual copy constructor
#ifndef PAYOFFBRIDGE_H
#define PAYOFFBRIDGE_H
#include<PayOff3.h>
class PayOffBridge
{
public:
PayOffBridge(const PayOffBridge& original);
PayOffBridge(const PayOff& innerPayOff);
inline double operator()(double Spot) const;
~PayOffBridge();
PayOffBridge& operator=(const PayOffBridge& original);
private:
PayOff* ThePayOffPtr;
};
inline double PayOffBridge::operator()(double Spot) const
{
return ThePayOffPtr->operator ()(Spot);
}
#endif


PayOffBridge::PayOffBridge(const PayOffBridge& original)
{
ThePayOffPtr = original.ThePayOffPtr->clone();
}
PayOffBridge::PayOffBridge(const PayOff& innerPayOff)
{
ThePayOffPtr = innerPayOff.clone();
}
PayOffBridge::~PayOffBridge()
{
delete ThePayOffPtr;
}
PayOffBridge& PayOffBridge::operator=
(const PayOffBridge& original)
{
if (this != &original)
{
delete ThePayOffPtr;
ThePayOffPtr = original.ThePayOffPtr->clone();
}
return *this;
}

搜索更多相关主题的帖子: double original include public 
2012-11-20 13:56
xixifans
Rank: 1
等 级:新手上路
帖 子:118
专家分:2
注 册:2012-11-15
收藏
得分:0 
程序代码:
//我是想把fund作为虚基类把我的操作函数 buy,sell,apply_for_purchase,Redemption也像上面那样实现= =
//在fund中声明所需要的函数,virtual之,定义虚基类的指针(就是一个类似于
Virtual fund*clone() const=0  的东西,在后面两个派生类的使用虚基类的指针进行操作)



class fund
{
public:
    fund(){};

private:
};

class motherfund: public fund
{
public:
    motherfund(double netvalue_) : netvalue(netvalue_) {};

private:
    double netvalue;
};

class umbrellafund : public fund
{
public:
    umbrellafund(double netvalue_,double stockprice_) : netvalue(netvalue_),stockprice(stockprice_) {};
private:
    double netvalue;
    double stockprice;
};



输入三个值:motherfund的netvalue(即Nm),两个umbrellafund的stockprice(即Ma&    Mb),根据一下两个判断条件,来进行操作
[1]    (Ma+Mb)*(1-br)> 2*Nm*(1+Pr):
以Nm的价格申购(函数设为apply_for_purchase)2x(x为任意正整数)份,以Ma+Mb的价格卖出(sell);
收益(设为payoff):(Ma+Mb)*x*(1-br)-2x*Nm*(1+Pr);
[2]    (Ma+Mb)* (1-br)< 2*Nm*(1+Rr):
买入(函数为buy)y份A(umbrella的对象)基金+y份B(umbrella的对象)基金,合并成2y份母基金,赎回(函数Redemption);
收益:2y*Nm*(1+Rr) -(Ma+Mb)*y*(1-br);

其中Pr=1.5%,Rr=0.5%;
注:加粗的几个地方的函数并没有什么实际的操作,它的作用是如果以后我要扩展程序到和软件关联时来用的。关键是比较两个条件,如果满足,则算出收益。

看那没有形象的发型和憔悴的脸就知道这是一只和C++恋爱的宅女。yes,I am!
2012-11-20 14:02
xixifans
Rank: 1
等 级:新手上路
帖 子:118
专家分:2
注 册:2012-11-15
收藏
得分:0 
自顶一下吧。不知道是不是我这样设计根本用不到clone函数

看那没有形象的发型和憔悴的脸就知道这是一只和C++恋爱的宅女。yes,I am!
2012-11-20 14:47
快速回复:【宅女求讲解一段程序】 virtual constructor
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019933 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved