武汉c培训
达内武汉中心

15271940953

热门课程

C++类class和结构体struct的区别

  • 时间:2016-05-04
  • 发布:武汉C++培训
  • 来源:c语言教程

C++保留了C语言的 struct,并且加以扩充。在C语言中,struct 只能包含数据成员,不能包含成员函数。而在C++中,struct 类似于 class,既可以包含数据成员,又可以包含成员函数。

在C++中,struct 和 class 基本是通用的,唯一不同的是如果使用class关键字,类中定义的成员变量或成员函数默认都是private属性的,而采用struct关键字,结构体中定义的成员变量或成员函数默认都是public属性的。

在C++中,没有抛弃C语言中的 struct 关键字,其意义就在于给C语言程序开发人员有一个归属感,并且能让C++编译器兼容以前用C语言开发出来的项目。

C++ struct 示例:

    #include<iostream>
    usingnamespacestd;
    structStudent{
    char*name;
    floatscore;
    Student(char*,float);
    voidsay();
    };
    Student::Student(char*name,floatscore){
    this->name=name;
    this->score=score;
    }
    voidStudent::say(){
    cout<<name<<"的成绩是 "<<score<<endl;
    }
    intmain(){
    Studentstu("小明",95.5f);
    stu.say();
    return0;
    }

运行结果:

小明的成绩是 95.5

该程序可以正常编译并运行,说明 struct 默认的成员都是 public 属性的,否则不能通过对象访问成员函数。如果将 struct 关键字替换为 class,那么就会编译报错。
上一篇:C++友元函数和友元类
下一篇:C++继承的概念及语法
选择城市和中心
贵州省

广西省

海南省