小编ang*_*ist的帖子

C++访问私有成员

嗨,我正在阅读Joshi的C++设计模式和衍生产品定价中的第4章,我不理解代码的某些部分.我们有一个PayOff类,我们想要定义一个PayOff作为成员的类VanillaOption.为了有效地执行此操作,他使用虚拟副本构造函数.

#ifndef PAYOFF_H
#define PAYOFF_H

class PayOff
{
private:
public:
    PayOff(){}
    virtual double operator() (double Spot) const = 0;
    virtual PayOff* clone() = 0;
    virtual ~PayOff(){}
};

class PayOffCall : public PayOff
{
private:
    double Strike;
public:
    PayOffCall(double Strike_);
    virtual PayOff* clone(){return new PayOffCall(*this);}
    virtual ~PayOffCall(){}
};
#endif 



#ifndef VO_H
#define VO_H
#include "PayOff.h"

class VanillaOption
{
private:
PayOff* ThePayOffPtr;               
double Expiry;
public:
VanillaOption(PayOff&,double );     //constructor
VanillaOption(VanillaOption& original) {thePayOffPtr = original.thePayOffPtr->clone(); Expiry = original.Expiry;}       //copy constructor
VanillaOption& operator=(VanillaOption&);       

~VanillaOption();
 }; …
Run Code Online (Sandbox Code Playgroud)

c++

1
推荐指数
1
解决办法
228
查看次数

符号函数矩阵

我想在Matlab中定义一个符号函数矩阵(而不是变量).在工作区中,我希望它是大小为N-by-M的类symfun的元素(其中N和M是正整数).

matlab symbolic-math

1
推荐指数
1
解决办法
5114
查看次数

警告:控制到达非void函数C++的结尾

我正在尝试实现Prims算法来查找给定图形的最小生成树.代码现在编译,但可执行文件(而不是打印MST)打印"分段错误:11".而且,我得到一个警告,:

Warning: control reaches end of non-void function
Run Code Online (Sandbox Code Playgroud)

有人能帮我理解它有什么问题吗?提前致谢.

double Graph::getWeight(int v, int w)
{
    if(edge(v,w))
    {
        Node* t = adj[v];
        while(t != NULL)
        {
            t = t->next;
            if((t ->v) == w)
            return t->weight;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c++

-1
推荐指数
1
解决办法
432
查看次数

标签 统计

c++ ×2

matlab ×1

symbolic-math ×1