-1

たとえば、次の違いは何ですか。

strucut Nodo{
    Nodo *siguiente,*anterior;
    char* Nombre,Curso;
    long,carnet;
    Nodo(){
        siguiente=anterior=NULL;
    }

と:

class Nodo{
public:    
Nodo *siguiente,*anterior;
char* Nombre,Curso;
long carnet;
Nodo(){
    siguiente=anterior=NULL;
    }

私が見たと思う違いは、クラスでは公開する必要があることです。そうしないと、すべてのステートメントが非公開になりますが、重要な違いや決定的な違いは見られません。私が知らないいくつかの重要な側面がありますか?

4

1 に答える 1

7

classaと aの唯一の違いstructは、デフォルトのアクセス指定子です。Aclassのメンバーはprivateデフォルトですが、 astructのメンバーはpublicデフォルトです。これは、継承がデフォルトであり、継承がデフォルトであることもclass意味しprivateます。structpublic

標準で説明されているように:

キーワードで定義されたクラスのメンバーは、class既定privateでは です。structキーワードorで定義されたクラスのメンバーは、unionデフォルトpublicでです。

そして継承のために:

基本クラスにaccess-specifierがないpublic場合、派生クラスがclass-key structで定義されている場合は と見なされ、クラスがclass-keyprivateで定義されている場合は と見なされます。 class

于 2013-03-10T00:13:29.730 に答える