社区
C语言
帖子详情
C语言里的“结构体”是不是也有构造函数,析构函数,继承等概念呢?
lxb365
2006-01-14 11:17:34
虚心求教。如果有的话,那么结构和类的区别到底在哪?听人说,结构和类的区别就是:结构默认是公有成员,类默认是私有成员。难道它们就只有这一个概念上的区别?难道类里的那么多东西,结构全部有?
...全文
2794
13
打赏
收藏
C语言里的“结构体”是不是也有构造函数,析构函数,继承等概念呢?
虚心求教。如果有的话,那么结构和类的区别到底在哪?听人说,结构和类的区别就是:结构默认是公有成员,类默认是私有成员。难道它们就只有这一个概念上的区别?难道类里的那么多东西,结构全部有?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
珍惜生命远离CPP
2006-01-15
打赏
举报
回复
C语言里的“结构体”是不是也有构造函数,析构函数,继承等概念呢
在C语言里没有这些东西
在C++里面,struct和class基本一样,区别 参考 tudou614(魔蟹座的SATAN) 的回答
楼上的大部分没看清你的问题 呵呵~~
逸学堂
2006-01-15
打赏
举报
回复
c++中struct和class的区别
关键词: c++中struct和clas
struct内数据默认是public类型的,
class内数据默认是private类型的。
C++d&e就是这么说的.
其他不同点,只是编译做的处理而已!
晨星
2006-01-15
打赏
举报
回复
C里的struct和C++的struct区别当然很大,没有必要讨论。
但C++和struct和C++的class区别不是很大。
bombwang
2006-01-14
打赏
举报
回复
learning
但是如何使用呢
sankt
2006-01-14
打赏
举报
回复
c++中struct和class的区别
关键词: c++中struct和clas
struct内数据默认是public类型的,
class内数据默认是private类型的。
继续用struct是为了向下兼容啊,习惯问题,以后发展会只用class的
你可以
template<class T>
但是
template<struct T>
并不总是可以用的。
class中有个默认的this指针,struct没有
不同点:构造函数,析构函数 this 指针
error:struct仅仅能定义数据,而CLASS可以定义操作!
class exp
{
int x;
int y;
};
int main()
{
class exp a(1,2);
cout << a.x << a.y;
}
应该可以吧
细微区别:
struct也可以作为C语言中单纯的结构体用,如果里面一个函数都没有的话。而class则无论如何也是个类。考虑如下例子:
struct exp
{
int x;
int y;
};
int main()
{
struct exp a={1,2};
cout << a.x << a.y;
}
这个是成立的,输出12
而
class exp
{
int x;
int y;
};
int main()
{
class exp a={1,2};
cout << a.x << a.y;
}
则不成立了。这个区别很细微。
基本上就这些区别了。
sankt
2006-01-14
打赏
举报
回复
C里面没有
C++里面有
tudou614
2006-01-14
打赏
举报
回复
#include <iostream>
using namespace std;
struct exp
{
int x;
int y;
int exp_add(int x,int y)
{
this->x=x;
this->y=y;
return this->x+this->y;
}
};
int main(void)
{
exp myexp;
myexp.x=10;
myexp.y=11;
cout<<"the result is:"<<myexp.exp_add(myexp.x,myexp.y)<<endl;
cin.get();
return 0;
}
tudou614
2006-01-14
打赏
举报
回复
只有这点区别:
c++中struct和class的区别
关键词: c++中struct和clas
struct内数据默认是public类型的,
class内数据默认是private类型的。
继续用struct是为了向下兼容啊,习惯问题,以后发展会只用class的
你可以
template<class T>
但是
template<struct T> //这点不行是因为:typedef class struct;是typedef力不能及的
并不总是可以用的。
---------------------
除此以外,全是谬论
下岗老田
2006-01-14
打赏
举报
回复
结构体中只有数据
类中除了数据还包括方法
zhangl_cn
2006-01-14
打赏
举报
回复
c不是面向对象的语言,没有继承等概念。
YAMABACK
2006-01-14
打赏
举报
回复
如果从空间分配上来看,struct变量放在栈上,而class变量放在堆上,因此struct变量会自动释放,而class变量需要手动释放。
c不是面向对象的语言,没有继承等概念。
zez
2006-01-14
打赏
举报
回复
虚心求教。如果有的话,那么结构和类的区别到底在哪?
没有 !!!!!!!!!!!!!
听人说,结构和类的区别就是:结构默认是公有成员,类默认是私有成员。难道它们就只有这一个概念上的区别?难道类里的那么多东西,结构全部有?
你听谁说的?? 说这些的人怎么把最起码的东西给忘了??
他说的是C++里的结构 !!! 而不是C里的!!!
C++里根本就没有结构,仅仅为了兼容c才有结构这种东西,实际上除了名字以外,C++的结构就是类!!
cn_archer
2006-01-14
打赏
举报
回复
简单来说,c里面的结构(struct)只是把各种不同的数据类型结合在一起,变成一种程序员自定义的数据类型。
结构是完全开放的,任意一个函数,只要能访问到这个结构,就可以随意操纵其中的数据。
而类(class)除了是将不同的数据类型以私有的形式(private)组合在一起之外,还提供了访问这些数据的方法(即类函数)。
用户只能用类提供的接口(类函数)来访问并操纵类中的数据。
这样,就使类具备了封装的功能,有效地保护了数据。
同时,类还有构造和析构、继承和多态等多种优点。这些优势,使得C++的应用越来越广泛。
C语言
中
结构体
的几种定义和使用方法struct.zip
c语言
结构体
,在
C语言
中,
结构体
(struct)是一种构造类型,它可以将不同的数据类型组合在一起形成一个新的数据类型,这种新的数据类型就是
结构体
。
结构体
与类
好东西 大家看一下地 地地地地就知道了
c++经典学习资料,编程必备
学C++必备,c++经典学习资料 相当不错,帮助你掌握c++的方方面面
C语言
程序设计清华大学郑莉PPT课件.pptx
C语言
程序设计清华大学郑莉PPT课件.pptx
C语言
实现面向对象思想编程
附件是在VS2012下用
C语言
实现面向对象的示例代码,并实现设计模式中的工厂模式
C语言
70,020
社区成员
243,267
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章