Как создать внедрение зависимости с помощью C ++? - PullRequest
0 голосов
/ 29 апреля 2020

У меня следующий код на PHP. Что является аналогом этого кода, кроме языка C ++? Ниже вы можете увидеть пример кода PHP, который у меня есть.

IOutputFormat. php

<?php

interface IOutputFormat
{
    public function getOutput(): string;
    public function setOutput(string $output);
};

JSONOutput. php

class JSONOutput implements IOutputFormat
{
    private $output;

    public function getOutput(): string
    {
        return $this->output;
    }

    public function setOutput(string $output)
    {
        $this->output = $output;
    }
}

XMLOutput. php

class XMLOutput implements IOutputFormat
{
    private $output;

    public function getOutput(): string
    {
        return $this->output;
    }

    public function setOutput(string $output)
    {
        $this->output = $output;
    }
}

Приложение. php

class App
{
    private $outputFormat;

    public function setOutput(IOutputFormat $outputFormat)
    {
        $this->outputFormat = $outputFormat;
    }

    public function setResult(string $result)
    {
        $this->outputFormat->setOutput($result);
    }

    public function getResult()
    {
        return $this->outputFormat->getOutput();
    }
}

index. php

$app = new App();
$app->setOutput((new JSONOutput()));
$app->setResult('test');

echo $app->getResult();

Можете ли вы предоставить аналог этого кода, но на C ++ язык

...