c结构体,c++结构体 和 c++类的区别

作者&投稿:蔡科 (若有异议请与网页底部的电邮联系)
C/C++ 类和结构体的差别~

C/C++ 类和结构体的的区别:
1、结构体基本用在很多数据,需要一个结构体来封装这些数据。而类的话,是面向对象的思想,可以有很多接口让人调用,私有变量等外部不能调用,还有保护类型的变量。
2、结构体也可以被认为是一种特殊的类,它不存在任何函数,构造和析构函数也没有,而且是一个公共的的类。
3、结构体在默认情况下成员是公共的(public),类在默认情况下成员是私有的(private)。
4、C++结构体内部成员变量及成员函数默认的访问级别是public,而c++类的内部成员变量及成员函数的默认访问级别是private。
5、C++结构体的继承默认是public,而c++类的继承默认是private。
6、类要加上public变成共有的才能被访问,而结构本身就是共有的可直接访问。
7、C定义结构体变量时需要加struct关键字,C++中定义结构体变量时可以不加struct关键字。

扩展资料:世界上第一种计算机高级语言是诞生于1954年的FORTRAN语言。之后出现了多种计算机高级语言。1970年,AT&T的Bell实验室的D.Ritchie和K.Thompson共同发明了C语言。研制C语言的初衷是用它编写UNIX系统程序,因此,它实际上是UNIX的“副产品”。它充分结合了汇编语言和高级语言的优点,高效而灵活,又容易移植。
1971年,瑞士联邦技术学院N.Wirth教授发明了Pascal语言。Pascal语言语法严谨,层次分明,程序易写,具有很强的可读性,是第一个结构化的编程语言。
20世纪70年代中期,Bjarne Stroustrup在剑桥大学计算机中心工作。他使用过Simula和ALGOL,接触过C。他对Simula的类体系感受颇深,对ALGOL的结构也很有研究,深知运行效率的意义。既要编程简单、正确可靠,又要运行高效、可移植,是Bjarne Stroustrup的初衷。以C为背景,以Simula思想为基础,正好符合他的设想。1979年,Bjame Sgoustrup到了Bell实验室,开始从事将C改良为带类的C(C with classes)的工作。
1983年该语言被正式命名为C++。自从C++被发明以来,它经历了3次主要的修订,每一次修订都为C++增加了新的特征并作了一些修改。第一次修订是在1985年,第二次修订是在1990年,而第三次修订发生在c++的标准化过程中。在20世纪90年代早期,人们开始为C++建立一个标准,并成立了一个ANSI和ISO(Intemational Standards Organization)国际标准化组织的联合标准化委员会。该委员会在1994年1月25曰提出了第一个标准化草案。在这个草案中,委员会在保持Stroustrup最初定义的所有特征的同时,还增加了一些新的特征。
在完成C++标准化的第一个草案后不久,发生了一件事情使得C++标准被极大地扩展了:Alexander stepanov创建了标准模板库(Standard Template Library,STL)。STL不仅功能强大,同时非常优雅,然而,它也是非常庞大的。在通过了第一个草案之后,委员会投票并通过了将STL包含到C++标准中的提议。STL对C++的扩展超出了C++的最初定义范围。虽然在标准中增加STL是个很重要的决定,但也因此延缓了C++标准化的进程。
委员会于1997年11月14日通过了该标准的最终草案,1998年,C++的ANSI/IS0标准被投入使用。通常,这个版本的C++被认为是标准C++。所有的主流C++编译器都支持这个版本的C++,包括微软的Visual C++和Borland公司的C++Builder。
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
参考资料:百度百科-C++

  • C结构体

C是面向过程的编程语言。在C语言中,结构体是用作一种数据聚合方式,将一组关联紧密的数据组成统一的数据进行操作。其功能是最基本的,在C++结构体和C++类中同样包含该功能。


  • C++结构体

C++是面向对象的编程语言。结构体的表现形式,使用方法与C语言的结构体一致。

区别:

  1. C++结构体是面向对象的,可以在其中定义函数。

  2. C++的结构体存在访问权限(默认Public)。可以通过private方法修饰内部成员变量是否可以被修改。


  • C++类

C++类是面向对象封装的基础,功能和C++结构体类似,同样可以定义函数。

区别:

  1. C++类的默认访问权限是Private。



C的结构体中不能指定成员的访问属性,只能是public,C++里可以指定为private,C++中默认的访问属性是public,类在C++中,完全取代了结构体,因为结构体不能实现信息隐蔽,没有继承等,类的成员默认访问方式是private。




谁能给我讲讲c的结构体啊
C++中的结构体 在C语言中,可以定义结构体类型,将多个相关的变量包装成为一个整体使用。在结构体中的变量,可以是相同、部分相同,或完全不同的数据类型。在C语言中,结构体不能包含函数。在面向对象的程序设计中,对象具有状态(属性)和行为,状态保存在成员变量中,行为通过成员方法(函数)来实现。C...

请问下C语言中的结构体有什么用?
C语言中的结构体可以定义一些复杂数据类型,把一些有内在联系的不同变量放在一起封装成一个整体,这就是结构体。例如:以学生为例,学生存在学号,姓名,性别,班级等。此时你可以顶一个结构体,将这些学生信息封装到一个结构体中。code如下:struct student{ int iID \/\/学生的学号 char sStuName[10]...

c语言的结构类型的意思
结构体变量简称为结构变量,它由结构类型定义,有三种定义方法。下面以定义结构类型 book 和结构变量mybook 、 storybook 为例说明之。1. 先定义结构类型,再定义结构变量。struct book \/* 定义结构体类型 *\/ { char bookname[20];float price;char publisher[20];char author[10];} ;struct...

C语言结构体中struct和typedef struct有什么区别?
C语言结构体中struct和typedef struct区别为:声明不同、访问不同、重新定义不同。一、声明不同 1、struct:struct可以直接使用结构体名字声明结构体。2、typedef struct:typedef struct的为。修饰结构体,结构体有了别名,通过结构体别名声明结构体。二、访问不同 1、struct:struct定义的结构体变量,可...

C#中结构体与C中的结构体的区别
详情请查看视频回答

C语言中,&结构体是什么操作呢
1. 结构体是什么?数组是一个有顺序,并且类型相同的一组数据的集合,那么如果我们想把几个类型不同的数据放到一起怎么办呢?数组是相同类型的多个变量绑到一起;结构体是不同类型的多个变量绑到一起。比如:一个学生的 姓名、年龄、成绩,它们分别是由不同的数据类型组成,即姓名是字符串数据,年龄...

C语言结构体Struct怎么使用?
在Turbo C中,结构也是一种数据类型, 可以使用结构变量,因此,像其它类型的变量一样,在使用结构变量时要先对其定义。如果需要定义多个具有相同形式的结构变量时用这种方法比较方便,它先作结构说明,再用结构名来定义变量。

c语言中结构体的优点
简单的来说,结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型。首先结构体可以在一个结构中声明不同的数据类型,第二相同结构的结构体变量是可以相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,它本身不是数据类型(而结构体是),数组名称是常量指针...

...有门课教“数据结构”,这个和C语言中的结构体有关系吗,有什么关系...
数据结构包含了C语言中的结构体。数据结构主要讨论:线性表(比如数组)、树、图以及排序和检索算法。数据结构比结构体难多了。不过认真学的话也不是很难,除了上课认真听讲,关键课后要仔细揣摩各种算法,必要时上机验证,也就这么回事吧。学习路线图如下:C语言,C++,数据结构,算法分析与设计,形式语...

C\/C++ 类和结构体的差别
4、C++结构体内部成员变量及成员函数默认的访问级别是public,而c++类的内部成员变量及成员函数的默认访问级别是private。5、C++结构体的继承默认是public,而c++类的继承默认是private。6、类要加上public变成共有的才能被访问,而结构本身就是共有的可直接访问。7、C定义结构体变量时需要加struct关键字,...

延边朝鲜族自治州17526382400: C语言的结构体和C++结构体的区别 -
仪建洛庆: C语言结构体 只能包含数据成员. C++的结构体 本质上是类的另一种表现形式,默认成员为public. 同样可以有成员函数,有构造析构等等.

延边朝鲜族自治州17526382400: C语言与C++结构体的区别 -
仪建洛庆: 比如说这个结构体吧.struct myStruct { int val } Str; 在C++里可以这样用 myStruct s1;myStruct 就是一个类型,在C里只能这样用其 struct myStruct s1 myStruct不是一个类型必须和struct关键字连用.就这点不同了.

延边朝鲜族自治州17526382400: c++里的类和c里的结构体有什么区别? -
仪建洛庆: C/C++结构体的区别 C中的结构体和C++中结构体的不同之处:在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数. C++中的结构体和类的异同: 一、相同之处:结构体中可以包含函数;也可以...

延边朝鲜族自治州17526382400: 详解C结构体,C++结构体 和 C++类的区别 -
仪建洛庆: 类有成员变量和成员函数,结构体只有成员变量,没有成员函数.

延边朝鲜族自治州17526382400: C构造体,C++结构体 和 C++类的区别 -
仪建洛庆: 一个是值类型,一个是引用类型 一个存储在栈中,一个存储在堆中 一个不能父子继承,一个可以父子继承 一个不能修改无参构造函数,一个可以修改无参构造函数 一个没有析构函数,一个有析构函数

延边朝鲜族自治州17526382400: C的结构(struct)和C中的结构有什么分别?C的结构(str
仪建洛庆: 在C和C++中 struct是不同的. 区别就是: 在C中struct 内部只能有各种数据, 在C++中struct 可以有数据,有函数. 例如 在C中如下是正确的: struct MyStruct { int i; char* ...

延边朝鲜族自治州17526382400: c语言什么叫结构体 -
仪建洛庆: 结构体定义 结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构. 结构体作用 结构体和其他类型基础数据类型一样,例如int类型,char类型 只不过结构体可以做成你想要的数据类型.以方便日后的使用. ...

延边朝鲜族自治州17526382400: 请问下C语言中的结构体有什么用? -
仪建洛庆: C语言中的结构体可以定义一些复杂数据类型,把一些有内在联系的不同变量放在一起封装成一个整体,这就是结构体. 例如:以学生为例,学生存在学号,姓名,性别,班级等.此时你可以顶一个结构体,将这些学生信息封装到一个结构体中...

延边朝鲜族自治州17526382400: C语言的结构体与C++的类的辨析 希望大家能给个总体上的描述..在线等.谢谢 -
仪建洛庆: c语言是面向结构也就是面向过程,java是纯面向对象,c++是即可面向过程编程也可面向对象编程;这里说的面向过程和面向对象是一种编程思想,具体说就是: 面向结构,是把要实现的功能分成很多模块即函数,每个模块承担某一...

延边朝鲜族自治州17526382400: c结构与c++结构的异同 -
仪建洛庆: 就一点不同:C结构中不能有行为(函数),但C++结构中可有行为(函数).如下面代码:(在VC++6.0中测试通过)---------------#include <stdio.h>#include <iostream.h> struct sr { int a; void fn(); }; void sr::fn() { cout<<"fn1"<<endl; } void main() { sr s; s.a=0; s.fn(); cout<<s.a<<endl; }------回答完毕.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网