
3个回答
展开全部
嗯,这个问题就好比你坐车去上学那样,你步行就可以了,无论多远的距离,步行都是可以的,但如果距离很长就会很浪费时间,所以,有些同学会选择骑自行车,但如果你家就在学校旁边,你还会选择骑自行车这么2么?
所以,这就是结构体和类的区别,从客观上说,结构体的一切功能都可以由类来取代,但是方便性不同。例如编写一个学生学号、成绩在内的东西,用结构体:
struct Student
{
int number;
double score;
};
而如果用类就要写成:
class Student
{
public:
int number;
double score;
};
所以,一般来说没封装函数的以及数据成员不需要特别保护的,都直接用结构体来解决,这是一个约定俗成的习惯。
所以,这就是结构体和类的区别,从客观上说,结构体的一切功能都可以由类来取代,但是方便性不同。例如编写一个学生学号、成绩在内的东西,用结构体:
struct Student
{
int number;
double score;
};
而如果用类就要写成:
class Student
{
public:
int number;
double score;
};
所以,一般来说没封装函数的以及数据成员不需要特别保护的,都直接用结构体来解决,这是一个约定俗成的习惯。
展开全部
struct:一种构造数据类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c++是在c语言的基础上,进行了很多功能扩展,其中最重要的一条,就是引入了class。引入class的最大好处就是,使c++可以进行面向对象编程。
面向对象编程,简称OOP,具备三个要素:1)封装性 2)继承性 3)多态性
诚然,struct可以实现成员变量和成员函数的封装,但是,struct不能进行继承,更不能进行多态功能的实现。class可以进行类的继承,并且,其对虚函数的支持,使c++的类具有多态的性质。
因此,引入class,是c++在c语言基础上重要的拓展,这是struct难以实现的。
面向对象编程,简称OOP,具备三个要素:1)封装性 2)继承性 3)多态性
诚然,struct可以实现成员变量和成员函数的封装,但是,struct不能进行继承,更不能进行多态功能的实现。class可以进行类的继承,并且,其对虚函数的支持,使c++的类具有多态的性质。
因此,引入class,是c++在c语言基础上重要的拓展,这是struct难以实现的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询