码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-08-22 21:44:47      阅读:188      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!