请问一下:c语言中的结构与c++中的类有哪些相同点与不同点??讲全面点,谢谢!
解决方案 »
- 关于CHttpFile 的WriteString 和 ReadString 的问题
- 请问谁知道“用vc++实现的ascall码解码算法”,谢谢!!!!!!
- 初学者问几个dll的简单问题
- 如何获取当前打开文件的宿主进程信息
- 字体大小的问题
- 如何去做
- 这个SQL语句如何写?请帮帮忙,谢谢!
- 使用rasenumconnections判断有无拨号连接
- 请教在程序中直接打开access数据库文件*.mdb的方法 :)
- VC MFC 加载动态库调用其中函数的问题
- 一个提出了一个月,还没有人解决的问题!!!高手来看,我已经是第3次提了!!!!
- 请问怎样把ascii编码的数据转换为utf-8编码的数据。查了查,不知怎么办。
2. c编译器宣称的结构中不可以有代码实现,类可以其他还没想到。 c++中,这两者几乎没什么差别,除了第1点。 其他人继续。
用struct就等于放弃了成员函数和访问权限。
我好像见过struct也能带函数的,不过我没有试过。
struct中所有成员都视为public的。
{
int ndata;
tagTest(int i){ndata = i};
};
和c++中的struct
是不同的
换句话说,C++中结构体是一种特殊的类。
C++ 默认的数据成员或者函数是 private 类型的
c 中没有构造函数和析构函数
c++中有
c中的函数成员 不能重载
C++中可以重载
C语言中的函数成员 不能用虚函数实现多态
C++中可以
C里的结构好象只是主要作为一种数据的格式,来储存数据
C++的类就太大了,个人觉得C++全都是类,类里包括数据,包括方法程序就是各个类组成的
类还有一些特点:如封装性,派生与继承,这些都是结构没有的
看了书你明白了,
俺现在还经常抱着C++的基础教材看呢
不知道什么时候才能变高手?哎。。期待ing.....................
不要乱说。struct的虚方法我用过,继承、多态、模板特性我也用过。faller20002003() 说得对。和我观点一至。c++中struct=class。只不过成员默认是public权限。(自己可以设为private)
结构中可以放上函数指针,在结构体外面写指针函数体,函数参数中放上结构实力的指针,C++中的this指针其实就是这个结构指针,不同的是在x86系统中他使用ecx传递参数而不是堆栈,所以C++类其实就是结构+代码,要说继承同样可以用结构实现struct a
{
.....
};
struct b
{
a xxx;
.....
}
上面意思就是b从a继承,要说那些什么访问规则只不过是编译器规定的能不能访问,在机械码那个层次没有限制