WEB 开发 开发语言 Java 技术 .Net 技术 数 据 库 硬件使用
图象媒体 Linux/Unix 移动平台 嵌入开发 Windows 专区 软件工程
Ajax 技术 | ASP | PHP | ASP.NET | C# | JSP | Access | Oracle | 网页设计 | Flash | 安全专题 | IIS | VC/MFC | Delphi | C/C++
 你的位置:首页 > 开发语言 > C/C++

类与结构体混合使用
[ 来源:ITWENKU 时间:2007-4-17 16:04:56 | 浏览:320人次 ]

请各位给小弟一个类与结构体混合使用的例子(编写一个通讯录),结构体怎样用于类中.


struct A
{
int a;
char *b;
};

class B
{
private:
A aa;
int c;
long d;
public://interface
void test();

};


在C++里,struct就是class,class就是struct,你是受了不良读物的误导了。


struct A
{

int a;
char *b;
};

class B:public A
{
private:
int c;
long d;
public://interface
void test();

};



taodm((不能收CSDN社区短信息,请莫浪费精力)) ( ) 信誉:100 Blog 加为好友 2007-04-17 16:19:26 得分: 0


在C++里,struct就是class,class就是struct,你是受了不良读物的误导了。


你也被误导
struct是struct,class是class
虽然很多时候struct可以当类来使用。



在C++中,结构和类确实是一回事,struct和class的区别极小,好像在class中,如果你对变量不加修饰符(public等)默认是private,在struct中,一般对变量是不加修饰符的,默认是public,除了这个区别,它们几乎没有区别,struct在C++中保留估计还是因为兼容。


C++和C中的struct和class只有其成员的默认访问权限不同,struct默认public,class默认private,如以下几个类/结构都是等效的:
struct MyClass{
int a;
}
struct MyClass{
public:
int a;
}
class MyClass{
public:
int a;
}


建议用class取代struct


我按照如下原则用struct。

1.POD 用 struct

2.纯接口 用 struct, 如:
struct my_interface {
virtual void method_1() = 0;
virtual double method_2(int) = 0;
};


区别在Class要申明是public还是 private


区别是。在不定义public、private的时候,struct默认是public类型,class默认是private。


就这唯一的区别,大家都知道的,就不要再提了。
还是当它一样的比较好理解。


晕,为什么要类与结构体混合,都用类不好么?struct本来就不该是C++里面的东西,全是为了兼容C而已.



回复人:yutaooo() ( 一级(初级)) 信誉:100 2007-04-17 17:13:13 得分:0
?
我按照如下原则用struct。

1.POD 用 struct

2.纯接口 用 struct, 如:
struct my_interface {
virtual void method_1() = 0;
virtual double method_2(int) = 0;
};
----------------------------------
纯接口至少要给个虚析构函数吧,如果struct是为了与C兼容的话,那么他不该有析构函数,所以我觉得纯接口应该使用class

 相关文章
·怎样阻止程序访问栈中的内容?
·关于 Visual C++ 在 AMD 平台上 无法使用的问题
·《核心编程》中的几个问题
·请问:看看程序是什么错误?
·C++ Primer 4中的习题1.26,怎么解,在线等......
·关于枚举变量的赋值

 推荐文章
关于高精度乘法的问题
求助c用函数编程
一个关于32位系统的问题
关于堆栈的问题!!!!!
监视哨搜索算法问题
一个矩阵的问题
srting类型的参数传递的问题
请问有什么 c++ design pattern 方面的好书么?
怎样将Turbo C 2.0中的C程序拷贝到 WORD中啊
请说一下 get()函数有什么用.
C++ 中有没现成的函数 可以获得 鼠标所在的某个控件上的整个区域?
我想换个语言用请前辈给点意见
 版权所有:IT问库
copyright © 2006 www.itwenku.cn all rights reserved.