problem z zagnieżdzeniem klasy
Ostatnio zmodyfikowano 2020-12-16 20:43
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 : #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; }; 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" |
|
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ć'. |
|
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 ? |
|
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: struct X { int wartosc = 1; }; |
|
« 1 » |