栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c和c++的区别(二)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c和c++的区别(二)

结构体的区别

~类型上不再需要struct关键字,直接用结构体名即可

~c++结构体允许函数存在

        ·在结构体中声明,在结构体外实现(ps:在函数中实现也可以)

        ·在结构体中的函数中访问数据可以直接访问

        ·学会调用

struct Student                  //定义结构体和c语言一样
{
    char name[20];
    int age;
    void print()
    {
    cout< 

在c++中用结构体定义变量即可,不再需要struct关键字

    int main(){

        struct Student stu; //用c语言的方式也可以
        Student stu1;       //用c++的方式

}

~学会调用

和数据成员访问方式是一样的

        ~对象(结构体变量).成员

        ~对象指针->成员

        ~(* 对象指针).成员

在c++中    ~把函数称为行为/方法----->成员函数--->描述一个对象的行为

                 ~把数据称为属性/特性----->数据成员

struct Student                  
{
    char name[20];
    int age;
    void print()
    {
    cout<printData();                  //输出 小丽 24

}

结构体中的变量必须要通过结构体变量(结构体指针,结构体数组)的方式访问

c++结构体中的函数访问属性不需要,可以直接访问,在结构体外访问必须要通过结构体变量访问

//通过外部函数修改数据(修改年龄)
int &getAge()            //提供返回引用的函数
{
    return age;
}
int main(){

    struct Student stu={"小芳",18};  
    Student stu1={"小丽",24}; 
 
    Student* p=&stu1;
    p->printData();    //输出 小丽 24

    p->getAge()=25;    //结构体不需要这样修改数据,只要有结构体变量就可以在外面直接访问
    p->printData();    //输出 小丽 25
    p->age=18;         //输出 小丽 18
    p->printData();

}

在c++中定义结构体数组

~不需要struct关键字,其他都一样

    Student array[3];//定义一个结构体数组

ps:
在c++没有写构造函数/权限限定的时候,结构体用法和c语言一样

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/528787.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号