uanta funcionalidade é "aceitável" para uma estrutura C +

Meu primeiro post, por favor, vá com calma comig

Eu sei que não há diferença real entre estruturas e classes em C ++, mas muitas pessoas, inclusive eu, usam uma estrutura ou classe para mostrar intenções - estruturas para agrupar "dados antigos simples" e classes para dados encapsulados que possuem operações significativa

gora, tudo bem, mas em que ponto você começa a pensar que algo não é mais apenas uma estrutura e deve se tornar uma class

cho que são razoáveis que as estruturas tenha

onstrutores com apenas código de inicialização simpleódigo de serialização, como operadores de inserção / extração de flux

Coisas que não tenho tanta certeza, mas provavelmente faria:

comparison operadoresunções de transformação simples - por exemplo, byteswapping todos os membros após o recebimento de dados de uma fonte extern

Não acho que as estruturas devam ter:

alocação dinâmica de memóridestruidorunções-membro complexa

Onde estão os limites ???

Além disso, é razoável ter instâncias de classe como membros de uma estrutura? por exemplo

class C {private: int hiddenData; public: void DoSomething();};

struct S {int a; float b; C c; };

S s; s.c.DoSomething();

Lembre-se de que não entendo o que você PODE fazer com C ++, estou interessado no que você DEVE fazer ao criar um bom softwar

Pensamentos

questionAnswers(19)

yourAnswerToTheQuestion