首页 > 编程语言 > 详细

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

时间:2016-08-22 21:44:06      阅读:368      评论:0      收藏:0      [点我收藏+]

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

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

C++ struct 示例:

#include<iostream>
using namespace std;
struct Student{
    char *name;
    float score;
    Student(char*, float);
    void say();
};
Student::Student(char *name, float score){
    this->name = name;
    this->score = score;
}
void Student::say(){
    cout<<name<<"的成绩是 "<<score<<endl;
}
int main(){
    Student stu("小明", 95.5f);
    stu.say();
    return 0;
}

该程序可以正常编译并运行,说明 struct 默认的成员都是 public 属性的,否则不能通过对象访问成员函数。如果将 struct 关键字替换为 class,那么就会编译报错。

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

原文:http://www.cnblogs.com/Caden-liu8888/p/5797025.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!