Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
dima2308
0 / 0 / 0
Регистрация: 29.09.2014
Сообщений: 32
#1

Перевод кода из C# в C++

18.05.2017, 19:59. Просмотров 601. Ответов 1
Метки нет (Все метки)

Имеется исходный код на C#:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
public interface IAdapter
{
    string Name { get; }
    int Age { get; }
    int NumberOfFriends { get; }
}
 
class VkAdapter : IAdapter
{
    private readonly IVk _vk;
 
    public VkAdapter(IVk vk)
    {
        _vk = vk;
    }
 
    public string Name
    {
        get { return _vk.VkName; }
    }
    public int Age
    {
        get { return _vk.VkAge; }
    }
    public int NumberOfFriends
    {
        get { return _vk.VkNumberOfFriends; }
    }
}
 
public interface IVk
{
    string VkName { get; }
    int VkAge { get; }
    int VkNumberOfFriends { get; }
}
 
public class Vk : IVk
{
    private readonly string _vkName;
    private readonly int _vkAge;
    private readonly int _vkNumberOfFriends;
 
    public Vk(string vkName, int vkAge, int vkNumberOfFriends)
    {
        _vkName = vkName;
        _vkAge = vkAge;
        _vkNumberOfFriends = vkNumberOfFriends;
    }
 
    public string VkName
    {
        get { return _vkName; }
    }
    public int VkAge
    {
        get { return _vkAge; }
    }
    public int VkNumberOfFriends
    {
        get { return _vkNumberOfFriends; }
    }
}
 
class Program
{
    static void Main()
    {
        var vkUser = new Vk("Василий Пупкин", 22, 987);
        UserProfile.PrintUserInfo(new VkAdapter(vkUser));
        Console.Read();
 
    }
}
 
public static class UserProfile
{
    public static void PrintUserInfo(IAdapter user)
    {
        Console.WriteLine("Имя пользователя: \t\t {0}", user.Name);
        Console.WriteLine("Возраст: \t\t\t {0}", user.Age);
        Console.WriteLine("Количество друзей: \t\t {0}", user.NumberOfFriends);
        Console.WriteLine("--- --- --- --- --- ---");
    }
}
Требуется перевести его на C++. Мои попытки успехом не увенчались.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include <iostream>
#include <string>
 
using namespace std;
 
class IAdapter
{
public:
    virtual std::wstring getName() const = 0;
    virtual int getAge() const = 0;
    virtual int getNumberOfFriends() const = 0;
};
 
class IVk
{
public:
    virtual string getVkName() const = 0;
    virtual int getVkAge() const = 0;
    virtual int getVkNumberOfFriends() const = 0;
};
 
class VkAdapter : public IAdapter
{
private:
    IVk const _vk;
 
public:
    VkAdapter(IVk *vk);
 
    string getName() const;
    int getAge() const;
    int getNumberOfFriends() const;
};
 
 
VkAdapter::VkAdapter(IVk *vk) : _vk(vk)
{
}
 
string VkAdapter::getName() const
{
    return _vk->VkName;
}
 
int VkAdapter::getAge() const
{
    return _vk->VkAge;
}
 
int VkAdapter::getNumberOfFriends() const
{
    return _vk->VkNumberOfFriends;
}
 
 
 
class Vk : public IVk
{
private:
    const std::wstring _vkName;
    const int _vkAge;
    const int _vkNumberOfFriends;
 
public:
    Vk(const std::wstring &vkName, int vkAge, int vkNumberOfFriends);
 
    std::wstring getVkName() const;
    int getVkAge() const;
    int getVkNumberOfFriends() const;
};
 
 
 
Vk::Vk(const string &vkName, int vkAge, int vkNumberOfFriends) : _vkName(vkName), _vkAge(vkAge), _vkNumberOfFriends(vkNumberOfFriends)
{
}
 
std::wstring Vk::getVkName() const
{
    return _vkName;
}
 
int Vk::getVkAge() const
{
    return _vkAge;
}
 
int Vk::getVkNumberOfFriends() const
{
    return _vkNumberOfFriends;
}
 
class UserProfile 
{
public:
    static void PrintUserInfo(IAdapter *user);
};
 
 
 
void UserProfile::PrintUserInfo(IAdapter *user)
{
    std::wcout << std::wstring(L"Имя пользователя: \t\t ") << user->Name << std::endl;
    std::wcout << std::wstring(L"Возраст: \t\t\t ") << user->Age << std::endl;
    std::wcout << std::wstring(L"Количество друзей: \t\t ") << user->NumberOfFriends << std::endl;
    std::wcout << std::wstring(L"--- --- --- --- --- ---") << std::endl;
}
 
void main()
{
   vkUser  = new Vk(L"Василий Пупкин", 22, 987);
    VkAdapter tempVar(vkUser);
    UserProfile::PrintUserInfo(&tempVar);
}
Прошу помочь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2017, 19:59
Ответы с готовыми решениями:

Перевод кода на с++
Program z15_1_6; const n=5; const m=5; var massiv:array of integer;...

Перевод кода
Помогите пожалуйста перевести код с паскаля на С++. var a,b:array of real; ...

Перевод кода
Помогите пожалуйста перевести код с паскаля на си++. Пока получилось как-то...

перевод кода с C# на C++
помогите перевести код с си-шаспа на си++ using System; public class Test...

Перевод кода с VB на C++
Помогите перевести код с VB на C++ Private Sub Command1_Click() Dim a As...

1
nmcf
6265 / 5575 / 2534
Регистрация: 14.04.2014
Сообщений: 23,468
18.05.2017, 23:02 #2
Потому что пытаешься повторить всё буквально. Делай по заданию.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2017, 23:02

Перевод кода С# на C++
Помогите, пожалуйста, перевести код, написанный на С#, в С++ Заранее большое...

Перевод кода с C# на С++
Есть код на C# нужно перевести на С++, помогите пожалуйста так как еще не...

перевод кода с C# на C++
/// &lt;summary&gt; /// Description of MainForm. /// &lt;/summary&gt; public partial...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru