结构和类有什么区别?如果把程序中定义结构的关键字struct直接改成class,会有什么问题?用教材上的一个例程试一试,想一想做什么修改能使程序正确运行?

题目

结构和类有什么区别?如果把程序中定义结构的关键字struct直接改成class,会有什么问题?用教材上的一个例程试一试,想一想做什么修改能使程序正确运行?


相似考题
参考答案和解析
正确答案:结构是数据的封装,类是数据和操作的封装。可以把结构看成是类的特例。结构和类都可以用关键字struct或class定义。区别是,struct定义的结构或类的全部成员都是公有的,用class定义的结构或类不做声明的成员是私有的。
若把struct改成class,只需要把全部成员定义为public就可以了。
更多“结构和类有什么区别?如果把程序中定义结构的关键字struct直接”相关问题
  • 第1题:

    设有以下语句: struct SS { int no; char name[10];}PERSON; 则下面叙述中错误的是 ( )

    A.struct是结构体类型的关键字

    B.struct SS是结构体类型

    C.PERSON是结构体类型名

    D.name是结构体成员名


    正确答案:C

  • 第2题:

    设有以下说明语句: struct stu { int a; float b; }stutype; 则下面叙述不正确的是( )。

    A.struct是结构体类型的关键字

    B.structstu是用户定义的结构体类型

    C.stutype是用户定义的结构体类型名

    D.a和b都是结构体成员名


    正确答案:C
    解析:定义一个结构的一般形式为:struct结构体名{成员列表}变量名列表;本题中的stutype是在声明结构体类型structstu的同时定义的该结构体变量,而不是用户定义的结构体类型名。

  • 第3题:

    若有定义:则下列叙述不正确的是()

    A.struct是结构体类型的关键字

    B.structteacher是用户定义的结构体类型

    C.num,sex,age都是结构体变量teacher1的成员

    D.teacher1是结构体类型名


    参考答案:B

  • 第4题:

    类的定义使用关键字(),定义结构使用关键字()。


    正确答案:class;struct

  • 第5题:

    类和结构有什么区别?


    正确答案:结构是类的一种特例,在结构体中也可以定义成员函数、构造函数和析构函数,成员也可使用private、protected、public。结构和类的区别是:在缺省情况下,结构中的所有成员都是公有的,而在类中是私有的。

  • 第6题:

    结构体指针的定义方式正确的是()

    • A、struct结构体名 指针变量名;
    • B、struct结构体名;
    • C、struct指针变量名;
    • D、struct指针变量名 结构体名;

    正确答案:A

  • 第7题:

    数据结构里,下列选项中是定义结构体类型的指针变量的格式的是()。

    • A、struct结构名指针变量名
    • B、struct结构名变量名
    • C、static结构名指针变量名
    • D、struct指针变量名结构名

    正确答案:A

  • 第8题:

    下列关于类的定义格式的描述中,错误的是()。

    • A、类中成员有3种访问权限
    • B、类的定义可分说明部分和实现部分
    • C、类中成员函数都是公有的,数据成员都是私有的
    • D、定义类的关键字通常用class,也可用struct

    正确答案:C

  • 第9题:

    关于结构体定义描述正确的是()

    • A、结构体可以定义在函数内部作为局部变量使用
    • B、结构体可以定义在函数外部作为全局变量使用
    • C、结构体最后的分号不能省略
    • D、定义结构体使用的关键字是struct

    正确答案:A,B,C,D

  • 第10题:

    多选题
    对于C++中类(class)与结构(struct)的描述正确的为()
    A

    类中的成员默认是private的,当是可以声明public,private和protected,结构中定义的成员默认的都是public

    B

    结构中不允许定义成员函数,当是类中可以定义成员函数

    C

    结构实例使用malloc()动态创建,类对象使用new操作符动态分配内存

    D

    结构和类对象都必须使用new创建

    E

    结构中不可以定义虚函数,当是类中可以定义虚函数

    F

    结构不可以存在继承关系,当是类可以存在继承关系


    正确答案: E,F
    解析: 暂无解析

  • 第11题:

    单选题
    若有以下程序: typedef struct S {int g;char h;}T; 以下叙述中正确的是(  )。
    A

    可用S定义结构体变量

    B

    可用T定义结构体变量

    C

    S是struct类型的变量

    D

    T是struct S类型的变量


    正确答案: D
    解析:
    AC两项,S是定义的结构体的名字,并不是struct类型的变量也不可用来定义结构体变量;D项,题目中T定义为struct S类型,即T被定义为一个类型名,而不是变量。答案选择B选项。

  • 第12题:

    单选题
    下列关于类的定义格式的描述中,错误的是()。
    A

    类中成员有3种访问权限

    B

    类的定义可分说明部分和实现部分

    C

    类中成员函数都是公有的,数据成员都是私有的

    D

    定义类的关键字通常用class,也可用struct


    正确答案: A
    解析: 暂无解析

  • 第13题:

    若有如下说明,则_______的叙述是正确的。 struct st { int a; int b[2]; }a;

    A.结构体变量a与结构体成员a同名,定义是非法的

    B.程序只在执行到该定义时才为结构体st分配存储单元

    C.程序运行时为结构体st分配6个字节存储单元

    D.类型名struct st可以通过extern关键字提前引用(即引用在前,说明在后)


    正确答案:D
    解析:结构体变量a与结构体成员a同名是合法的定义,引用成员a的方法是aa,变量a处于不同的“层次”上,系统完全能够分情。st是一个结构体名,不会为结构体名分配存储空间,应该是在运行时为结构体变量a分配6个字节的存储单元,故选项B和选项C错误。

  • 第14题:

    若有如下说明,且int类型占两个字节,则正确的叙述为( )。 struct st {int a; int b[2]; }a;

    A.结构体变量a与结构体成员a同名,定义是合法的

    B.程序只在执行到该结构体时才为结构体st分配存储单元

    C.程序运行时为结构体st分配8字节存储单元

    D.类型名struct st可以通过extern关键字提前引用


    正确答案:A

  • 第15题:

    a)Can a struct inherit from another struct?

    (结构体能继承结构体吗)

    b)Can a struct inherit from another class?

    (结构体能继承类吗)

    c)Can a struct be the base of another class?

    (结构体可以作为一个类的基类吗)

    d)Can a struct implement an interface?

    (结构体可以实现一个接口吗)

    e)What’s the difference between struct and class?

    (结构体与类有什么区别)


    正确答案:
     

  • 第16题:

    class类类型和struct结构体类型有何异同点?


    正确答案:相同点:都可以封装数据和操作,具派生性、隐藏性和多态性。
    不同点:
    ①访问权限:class数据或函数访问私有;struct数据或函数访问公有;
    ②初始化方式:class类类型只能间接初始化;struct结构体类型可直接初始化。

  • 第17题:

    数据结构里,定义名称为plan结构体,其有5个元素的结构体数组的定义方式是()。

    • A、struct plan数组名[5];
    • B、struct plan数组名[10];
    • C、plan struct数组名[5];
    • D、plan数组名[5];

    正确答案:A

  • 第18题:

    数据结构中,定义结构体使用struct关键字。


    正确答案:正确

  • 第19题:

    C++的类和C里面的struct有什么区别?


    正确答案:C++的class具有数据封装功能,其包含属性访问级别可以为private,public和protect,还具有实现类接口功能和辅助功能的操作函数,而struct属性访问权限只有public,没有数据封装功能,也就没有实现信息隐藏这一面向对象的思想的机制,struct本身不含有操作函数,只有数据。

  • 第20题:

    在C++语言中,使用struct(结构体)定义的类与使用class定义的类是一样的。


    正确答案:错误

  • 第21题:

    设有以下说明语句:structstu {int a;floatb;}s;下面的叙述不正确的是()

    • A、struct是结构体类型的关键字
    • B、structstu是用户定义的结构体类型
    • C、s是用户定义的结构体类型名
    • D、a和b都是结构体成员名

    正确答案:C

  • 第22题:

    填空题
    类的定义使用关键字(),定义结构使用关键字()。

    正确答案: class,struct
    解析: 暂无解析

  • 第23题:

    判断题
    数据结构中,定义结构体使用struct关键字。
    A

    B


    正确答案:
    解析: 暂无解析