`
xinklabi
  • 浏览: 1586773 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

C与C++中struct的区别,以及C++中struct与Class的区别

阅读更多

C中struct只可以放成员变量,没有访问权限限制,外部可以访问;

C++中struct用法对C中struct进行了扩展,功能与class类似,可以放成员函数,可以被继承,所有成员数据默认权限为public,struct不可以定义无参的构造函数。

C++中Class默认权限为private,可以定义无参构造函数,struct主要在这些方面与其不同。

下面是段程序

#include<iostream>
using namespace std;

struct A{
 int a;//默认权限为public
 A(int avalue){//不可以有无参构造函数
  a = avalue;
 }
};

struct B:public A{
 int b;
 B(int bvalue,int avalue):b(bvalue),A(avalue){//struct可以被继承

 }
};

int main(){
 B b(1,2);
 cout<<"b:"<<b.b<<";a:"<<b.a<<endl;
 return 0;
}

 

运行结果:b:1;a:2

 

分享到:
评论

相关推荐

    浅析c与c++中struct的区别

    C的struct与C++的class的区别 在C语言中,`struct`是一个基本的数据结构,它允许我们将多个不同类型的数据成员组合在一起。C语言中的struct不支持方法(成员函数),只能包含数据成员。例如: ```c struct Point ...

    深入C++中struct与class的区别分析

    本篇文章是对C++中struct与class的区别进行了详细的分析介绍,需要的朋友参考下

    如何在C++中struct与Class的的区别

    从语法上,在C++中(只讨论C++中)。class和struct做类型定义时... 不能因为学过C就总觉得连C++中struct和class都区别很大,下面列举的说明可能比较无聊,因为struct和class本来就是基本一样的东西,无需多说。但这些

    c++面向对象基础二(struct详解)

    在C++中,`struct`和`class`在功能上几乎是等价的,主要的区别在于默认的访问修饰符和通常的使用习惯。在实际编程中,选择`struct`还是`class`取决于设计需求和团队规范。如果希望成员默认为公共的,或者在代码风格...

    EDA/PLD中的如何在C++中struct与Class的的区别

    在C++中,由于历史原因和C语言的兼容性,`struct`仍然存在,但建议在不需要与C兼容或传递参数给C程序的情况下,优先使用`class`,以更好地体现面向对象的设计思想。同时,类的成员在内存中的布局并不一定按照声明...

    c++通过socket udp模式传输struct数据到c++与python

    c++通过socket udp模式传输struct数据(各种类型数据:int double float char long long等)到c++与python。c++通过socket udp接收数据,python通过enum枚举进行接收并且通过赋值给class类,封装统一方法

    C++结构体struct和类class区别详解

    C++语言中,struct和class都是用于定义复杂数据类型的关键字,但是它们之间有着本质的区别。最重要的一点区别就在于默认的访问控制权限,struct默认的继承访问权限是public的,而class默认的继承访问权限是private的...

    C++中struct和class的区别

    一、C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。  struct能包含成员函数吗? 能!  struct能继承吗? 能!!  struct能实现多态吗?...

    c++中STRUCT的使用技巧,编程练习题。.zip

    在C++编程中,`struct` 是一种复合数据类型,它允许我们将多个不同类型的变量组合成一个单一的实体。这使得我们能够更有效地组织和管理数据。本篇将深入探讨`struct`在C++中的使用技巧,并提供一些编程练习题以帮助...

    详解C++程序中定义struct结构体的方法

    在C++编程语言中,结构体(struct)是C语言中的概念被继承过来的,它允许用户将不同的数据类型组合成一个单一的复合类型。C++中的结构体不仅可以包含不同数据类型的成员,而且可以拥有成员函数,这在C语言中是不支持的...

    C类class和结构体struct区别-C教程共3页.pd

    虽然“赚钱项目”这个文件名似乎与主题不直接相关,但在这里我们将主要关注C++中的`class`和`struct`的区别。 1. **默认访问修饰符**: - `struct`:在C++中,`struct`的成员默认是`public`的,这意味着它们在声明...

    C语言与C++的主要区别是什么

    而在C语言中,虽然可以通过结构体(struct)和指针来模拟类的行为,但不具备真正的面向对象特性。 2. **数据类型**:C++扩展了C语言的数据类型,如string用于处理文本字符串,vector和list等容器类提供了动态数组和...

    C++面试八股文深度总结

    在C++中导入C函数,使用extern "C"关键字,以保持C语言的调用约定,避免因C++的名称修饰导致的不兼容问题。 C++从源代码到可执行文件的过程包括预编译、编译、汇编和链接四个步骤。预编译处理宏定义、条件编译和...

    Desktop_struct与class的区别_

    在C++编程语言中,`struct`和`class`都是用于定义数据结构的关键词,但它们之间存在一些关键区别,这些区别主要体现在访问控制、默认成员访问修饰符和默认构造函数上。 首先,访问控制是两者最显著的区别。在`class...

    Class to struct

    将C++中的类转换为C语言环境中的结构体是一项复杂的工作,涉及到了解两种语言的关键特性以及如何适配这些差异。通过合理的设计和转换策略,可以使转换后的结构体在C语言环境中实现类似的功能。然而,在处理复杂的类...

    C++面试题基础知识回顾

    1、C 和 C++ 中 struct 有什么区别? Protection行为 能否定义函数 C 无 否,但可以有函数指针 C++ 有 可以,默认是public 2、C++中的 struct 和 class 有什么区别? 【参考答案】从语法上讲,class和struct做...

Global site tag (gtag.js) - Google Analytics