Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

problem z zagnieżdzeniem klasy

Ostatnio zmodyfikowano 2020-12-16 20:43
Autor Wiadomość
danielpadewski
Temat założony przez niniejszego użytkownika
problem z zagnieżdzeniem klasy
» 2020-12-16 20:24:58
Dzień dobry wszystkim. Chciałem napisać prostą w c++ ale napotkałem na początku problem. Mianowicie nie mogę stworzyć instancji klasy w innej klasie która jest zadeklarowana niżej, a tym bardziej nie mogę odwołać się do pól obiektu
Kodzik :
C/C++
#include <iostream>
#include <conio.h>
#pragma warning(disable:4996)

using namespace std;

class Punkt
{
public:
   
int x, y;
   
char t;
   
Punkt( int x, int y, char t )
   
{
       
this->x = x;
       
this->y = y;
       
this->t = t;
   
}
   
void zmien()
   
{
       
       
cout << "..." << endl;
   
}
}
;
class Box
{
   
int px, py;
   
int wysokosc, szerokosc;
   
   
// Punkt p(1,2,'t');
    // p.x = 2;
    // p->y = 4;
   
};
int main()
{
   
unsigned char znak;
   
for( int i = 0; i < 100; i++ )
   
{
       
znak = getch();
       
cout << znak;
   
}
   
return 0;
}
zakomentowany kod wklasie Box to fragment z ktorym mam problem, kompilator wywala blad : "oczekiwano specyfikatora dostępu"
P-177854
DejaVu
» 2020-12-16 20:34:55
Musisz utworzyć metodę w klasie Box, abyś mógł napisać jej implementację (jak ma działać). Wykomentowany kod opisuje 'jak kod ma działać'.
P-177855
danielpadewski
Temat założony przez niniejszego użytkownika
» 2020-12-16 20:39:42
Rzeczywiście teraz widzę, że to działa, mimo to jestem mocno zdziwiony i zniesatysfakcjonowany. Nie można traktować deklaracji obiektów jako zwykłych pól ?
P-177856
DejaVu
» 2020-12-16 20:43:12
Konstruktor służy do inicjalizacji zmiennych. Dla typów prostych od C++11 wzwyż można przypisać początkowe wartości pisząc:
C/C++
struct X
{
   
int wartosc = 1;
};
P-177857
« 1 »
  Strona 1 z 1