Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pola klasy


Rekomendowane odpowiedzi

Opublikowano

Jak  przypisać wartość do pola prywatnego :

np. Klasa lista[x][y]  ( przypisanie następuje w konstruktorze)

lub takiego vectora

np. vector<vector<Klasa> > w(x,y);

Wartości x i y są podawane w konstruktorze.

pl ;)

Opublikowano

Co? Podaj konkretny przykład, z czym masz problem, albo przeczytaj jeszcze raz rozdział o klasach i próbuj coś napisać.

Opublikowano
#include <iostream>
#include <vector>
#include <string>

class Klasa
{
public:
int w;
};

class Cegla
{
int x;
int y;
std::vector<std::vector<Klasa*> > k(int x,int y);

public:
Cegla()
{
int x, y;
std::cout << " Podaj x i y" << std::endl;
std::cin >> x >> y;
std::vector<std::vector<Klasa*> > k(x,y);
this->x = x;
this->y = y;
this->k(x,y) = k(x,y);
}

Nie bardzo wiem szczególnie jak jest z tym vectorem, bo to akurat próbowałem.

Wiem, że to z this->w(x,y) = w(x,y); jest źle no ale wkleiłem.

pl ;)

Opublikowano

Tu jest wszystko źle napisane i nic nie ma sensu, co ten kod ma w ogóle robić?

RAsfepN.png
Opublikowano

10 sekund w google i masz gotowy kod..

 // Create
    vector< vector<int> > vec(4, vector<int>(4));
    // Write
    vec[2][3] = 10;
    // Read
    int a = vec[2][3];
RAsfepN.png
Opublikowano

Co nie zmienia faktu, że nadal nie wiem jak przypisać do pola prywatnego klasy Cegla,  vector dwuwymiarowy typu Klasa o wielkości x i y oraz całość wykonać w konstruktorze :>

pl ;)

Opublikowano

To może zajmij się najpierw nauka podstaw? Z zewnątrz nie można zmieniać wartości pół prywatnych w klasie, musisz mieć do tego metodę publiczną.

RAsfepN.png
Opublikowano
#include <iostream>

class Field
{
    int a, b;
    public:
    Field()
    {
        std::cout<<"Podaj a i b" << std::endl;
        std::cin>>a>>b;
        this->a = a;
        this->b = b;
    }
    void wysw() const
    {
        std::cout << "a = " << a << "b = " << b << std::endl;
    }
};


int main()
{
    Field P;
    P.wysw();
    return 0;
}

jakoś da się...

A jeśli chodzi Ci o to, że chcę zmieniać pole prywatne (Klasy) w klasie (Cegła), to nie, nie chcę.

pl ;)

Opublikowano

Da się bo zrobiłeś dokładnie to co napisałem xD Publiczną metodą ustawiasz prywatne pola.

RAsfepN.png
Opublikowano

Bo konstruktor masz publiczny, spróbuj stworzyć obiekt jakby konstruktor był prywatny ;)

RAsfepN.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...