c++类里面定义结构体怎么做

c++类里面定义结构体怎么做,第1张

根据你的意思,可以如下定义

struct Student{

char number[20]

char name[20]

float math

float english

float history

}

class a{

private:

struct Student stu

}

扩展资料:

在C语言中,可以定义结构体类型,将多个相关的变量包装成为一个整体使用。在结构体中的变量,可以是相同、部分相同,或完全不同的数据类型。

在C语言中,结构体不能包含函数。在面向对象的程序设计中,对象具有状态(属性)和行为,状态保存在成员变量中,行为通过成员方法(函数)来实现。

C语言中的结构体只能描述一个对象的状态,不能描述一个对象的行为。在C++中,考虑到C语言到C++语言过渡的连续性,对结构体进行了扩展,C++的结构体可以包含函数,这样,C++的结构体也具有类的功能,与class不同的是,结构体包含的函数默认为public,而不是private。

C++中的结构体与类的区别

类与结构体在C++中有三点区别。

(1)class中默认的成员访问权限是private的,而struct中则是public的。

(2)从class继承默认是private继承,而从struct继承默认是public继承。

(3)C++的结构体声明不必有struct关键字,而C语言的结构体声明必须带有关键字(使用typedef别名定义除外)。

参考资料:百度百科-结构体

struct student{

char name

int number

struct student *next

}

这样你定义了三个字段,姓名,number

我不知道你为什么这么定义,如果是我可能这么定义

struct student {

char name/*学生姓名*/

int 性别/*1代表femail (女性), 0 代表mail(男性)*/

int age

struct student *next/*为了用链表实现而采用*/

};

这样完全可以实现你需要的数据类型.只需要再加上一些算法就可以了.

如果还有什么问题可以与我联系.

一般工业上都会使用 typedef 来定义公司内部的统一定义如

typedef struct student {

}

没学过数据结构?那你们老师在干嘛?数据结构不应该是和语言同步进行的吗?

struct A //这就是个结构体,包含数据域和指针域

{

int a//数据域,可以是任何类百型的。

char b//数据域

A *p//指针域,就是struct A类型。

}链表,一般是动态的。你要静态的就不用malloc分配就行了。定义N个struct

A就行了。

struct A a1

struct A a2

struct A a3

struct A a4

//a1作为第一个节点

a1->next = a2

a2->next = a3

a3->next = a4

a4->next = NULL

//插入,在a2后面插入a5

struct A a5

a5->next = a2->next

a2->next = a5//注意指针的赋值顺序。虽然全部是度静态的问题不大。动态分配的时候不仔细会造成断链,内存溢出。

//删除a5

a2->next = a5->next//静态不存在释放的问题,动态申请的请释放a5;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11786402.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存