Go Back   Armenian Knowledge Base > Technical sections > Languages, Compilers, Interpreters > C/C++

Closed Thread
 
Thread Tools

различия struct/class в цпп
Old 30.10.2004, 21:02   #1
nm
ЙЦУКЕН
 
Join Date: 07 2002
Location: 0x68,0x69,0x72, 0x69,0x6e,0x67, 0x20,0x6e,0x6f, 0x77
Age: 56
Posts: 3,118
Rep Power: 0
Default различия struct/class в цпп

знатокки, хола

значит такой вопрос --
я 100% знаю, что с случае структур работает следующая весчь

предположим что есть :
Code:
struct FooBar_t {
char a;
char b;
char c;
char d;
};

struct FooBar_t  *fb;

fb = calloc(sizeof(FooBar_t), 1);

strncpy(fb, 4, "test");
и я четко буду знать в какой переменной какая буковка будет лежать ... (вопросы связанные с align-ом, не рассматриваем, знаю я про них

теперь вопрос -- если поменять там слово struct на class, к чему это может привести ? т.е. есть ли те-же гарантии расположения переменных в памяти, что даются компилятором насчет структур ?

интересует 1 - кроццплатформенность этой хрени
2 - кросскомпильность этой же хрени )))

Old 30.10.2004, 21:11   #2
nm
ЙЦУКЕН
 
Join Date: 07 2002
Location: 0x68,0x69,0x72, 0x69,0x6e,0x67, 0x20,0x6e,0x6f, 0x77
Age: 56
Posts: 3,118
Rep Power: 0
Default

все, всем спасибо, все свободны

структуры и классы гененрируют абсолютно один и тот же код. точка

Old 31.10.2004, 06:09   #3
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 44
Posts: 21,717
Rep Power: 9
Default

отвечу так, на всякий случай. разницы
1. у структуры по дефолту все мемберы (функции и члены) открыты, у класса закрыты
2. наследование от класса по дефолту закрытое, от структуры открытое
И еще, Гаспар, не делай calloc/malloc на классах/структурах имеющих
1. не тривиальный конструктор
2. содержащих члены, которые должны инициализироваться.
3. делать можешь но потом надо вызывать размещающаю форму оператора new.
Closed Thread




Реклама:
реклама
Buy text link .

All times are GMT. The time now is 19:06.
Top

Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.