小编Але*_*нко的帖子

什么是fstream open函数中的第三个参数

fstream open函数中的第三个参数是什么意思?我尝试在网络上进行搜索,但是没有关于带有三个参数的重载版本的明确解释。这来自fstream文件:

void open(const char* _Filename, ios_base::openmode _Mode = ios_base::in | ios_base::out,
    int _Prot = (int) ios_base::_Openprot) { // open a C stream with specified mode
Run Code Online (Sandbox Code Playgroud)

如果在某些情况下该参数对于程序员确实是必需的,还是只是为了实现方便?

c++ fstream function c++17

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

“this”指针是否参与了虚函数的多态行为

我正在实现访问者模式,并且我有一个accept()仅在基visitable类中定义的函数。该系统运行良好,但 Alexandresku 在他的书中指出this指针具有静态类型。

这段代码是否有缺陷和/或有错误,但我的输出没有捕捉到它?

我试图改变对指针的引用,但输出没有改变。

.h 文件

class WidgetVisitor
{
public:
    virtual void visit(ConcreteWidget1& w1);
    virtual void visit(ConcreteWidget2& w2);
    virtual void visit(Widget& w);
    virtual ~WidgetVisitor() { }
};


class Widget
{
public:
    Widget(const std::string& text);
    virtual std::string text() const;
    virtual void accept(WidgetVisitor* v);
protected:
    std::string text_;
};


class ConcreteWidget1: public Widget
{
public:
    ConcreteWidget1(const std::string& text);
    virtual std::string text() const override;

};

class ConcreteWidget2: public Widget
{
public:
    ConcreteWidget2(const std::string& text);
    virtual std::string text() …
Run Code Online (Sandbox Code Playgroud)

c++ virtual this

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

标签 统计

c++ ×2

c++17 ×1

fstream ×1

function ×1

this ×1

virtual ×1