Search
Write a publication
Pull to refresh
2
0
Send message

Мне больше нравится такой способ:

class Fruit
{
public:

    void name  () const { cout << m_Name  ; }
    void weight() const { cout << m_Weight; }
    void price () const { cout << m_Price ; }

private:

    string m_Name   = "Apple";
    float  m_Weight = 212.52;
    int    m_Price  = 500;
};

struct FruitAccessor
{
    string name;
    float  weight;
    int    price;
    // При желании, поля можно сделать приватными, а доступ к ним организовать сеттерами.
};
    Fruit f;
    f.name  (); // Apple
    f.price (); // 212.52
    f.weight(); // 500

    FruitAccessor *accessor;
    accessor = reinterpret_cast<FruitAccessor*>(&f);
    accessor->name   = "Banana";
    accessor->price  = 2000;
    accessor->weight = 634.64;
    
    f.name  (); // Banana
    f.price (); // 2000
    f.weight(); // 634.64

Думаю, тут полно простора для доработки и улучшений, я лишь предоставил базовую идею.

Information

Rating
11,648-th
Registered
Activity