C语言中的结构体与C++中的类异同

来源:互联网 发布:魔兽大脚mac版7.0更新 编辑:程序博客网 时间:2024/06/05 09:02

从C语言到C++,是编程思想的进步,技术发展的结果吧,所以C++基本上是兼容C的语法的,C++的很多东西也是从C中继承过来的,然后再发扬,C语言的结构体便是C++中类的雏形。        

简单的一句话,C语言中的结构体是C++中类的祖先,也可以说C++中的类是C语言中结构体的超集,当然啦,祖先肯定是还没有完全进化的,所以C语言中的结构体的功能相对于C++中的类的功能也相对简单许多。

(1)下面举一个简单的例子,以Point类为例

C语言的结构体可以这样使用:

#include<iostream>

using namespace std;

struct Point

{

         intx;

         inty;

};

 

int main()

{

         structPoint p;

         p.x=9;

         p.y=0;

         cout<<p.x<<endl<<p.y<<endl;

         return0;

}


(2)下面是C++中Point类的程序:

#include<iostream>

using namespace std;

//struct Point

class Point

{

public:

         intx;

         inty;

};

 

int main()

{

         classPoint p;

         p.x=9;

         p.y=0;

         cout<<p.x<<endl<<p.y<<endl;

         return0;

}


从上面可以看出,只是在C结构体的基础上稍稍加一点修改,便可以将C结构体变成C++的类;

(3)相同之处:

C语言的结构体和C++的类在C++程序中是可以通用的,类的内部可以包含函数,其实结构体内部也是可以包含函数的,

#include<iostream>

using namespace std;

struct Point

//class Point

{

 

         intx;

         inty;

         voidDisplay()

         {

                  cout<<x<<endl<<y<<endl;

         }

};

 

int main()

{

         structPoint p;

         p.x=9;

         p.y=0;

         cout<<p.x<<endl<<p.y<<endl;

         p.Display();      //调用结构体中的函数

         return0;

}

这样使用结构体也是可以的。

(4)不同之处:

可以看出,C语言结构体数据成员未加权限修饰符,默认为public类型,可以直接输入输出,直接对结构体对象的数据成员进行操作。


如上图,而C++中的类成员默认属性为private类型,是不能直接进行操作的。

(4)C语言是面向过程的编程语言,C++是面向对象的编程语言,面向过程和面向对象是一种思想,不是完完全全可以区分开的,它没有一个明确的界限,它是编程语言发展的一个过程,就如同C语言的结构体便是C++中类发展的雏形。

 

当然了,C++类的用法远远不止这些,这里只是简述一下结构体和类的区别,对于结构体和类的用法这里不详述,想要了解的朋友可以去学习C语言和C++面向对象编程,





1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子上课总发呆怎么办 小孩上课发呆走神怎么办 宝宝幼儿园坐不住怎么办 孩孑上课听不懂怎么办 25岁儿子不听话怎么办 幼儿午睡爱说话怎么办 幼儿园实习很累怎么办 怀孕后脚气严重怎么办 拼音a不会写怎么办 儿童7岁还坐不住怎么办 孩子缺锌手蜕皮裂开怎么办 宝宝读幼儿园哭怎么办 幼儿上课爱讲话怎么办 孩子上课总是乱跑怎么办 孩子听不懂老师讲课怎么办 高一上课听不懂怎么办 上课学生纪律差怎么办 一年级学生认字少怎么办 孩子上课做不住怎么办 幼儿园小孩上课乱跑怎么办 孩子挑食不爱吃饭怎么办 幼儿园孩子不听指令怎么办 1岁宝宝多动症怎么办 3岁宝宝胆小怎么办 爱挑食的孩子怎么办 小孩上课经常发呆怎么办 小孩不爱吃饭挑食怎么办 一年级小孩学习不好怎么办 宝宝上课坐不住怎么办 八个月婴儿拉稀怎么办 八个月孕妇拉稀怎么办 孩子好动爱喊怎么办 八个月小孩发烧怎么办 孩子好动怎么办学龄前教育 小孩好动症该怎么办 小孩子好动症该怎么办 怀孕5个月胎死亡怎么办 小孩多动调皮怎么办 手心老是出汗是怎么办 孩子吃饭特别慢怎么办 小孩子老想睡觉怎么办