C++中类的对象在通达oa文件存取错误中的存取问题

在C++中如何将含有string类型成员的对象存储到文件中去_百度知道
在C++中如何将含有string类型成员的对象存储到文件中去
在C++中要将一个对象存储到文件中去,可是这个对象(类)中包含有string类型的成员,如果直接存储读取的时候运行会不正常,该怎么破
提问者采纳
tring内存是动态申请的内存,然后将字符数组的整个内存块写到文件中,然后读的时候才能不出错,就需要将string的内容全部存进去,所以要存内容。或者你就讲string的内容全部转成字符数组
将string的内容全部存进去?这个是说需要将各成员的数据单独存储而不是直接存储一个对象吗?还有一个问题就是用字符数组时构造函数初始化列表怎么写?class Person{
char name[40];
//public:
Person(){}};
带指针成员的对象,你如果直接存一个对象,只是吧指针的值存起来了,而不是指针指向的内容,而这个值在你下次读取时候没有一点用处。因为内存地址什么的都变了,所以必须手动的吧内容存到文件中。初始化列表你要写什么?我没明白,不需要写呀。只是用字符数组没有string 方便,你没法直接赋值 name=“hello”;这样是不行的,你不许用到一些库函数 strngcpy(name,&hello&)类似于这样的。
提问者评价
明白了,谢谢你哦
其他类似问题
为您推荐:
其他2条回答
在C++中如何将含有string类型成员的对象存储到文件中去这个问题我知道, 推荐您使用“赛思QQ陌生人推广小助手”不加好友直接发QQ消息日发消息5万引1万精准流量
你是北邮的吧
??不是啊,跟这个问题有关系?
没有,只是问这些问题的很多都是北邮,你的问题,可以不把整个类存进去·,把类的数据分别存入文件,再分别读出,好吧,比较麻烦,但是可以凑合着用
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁c++问题。在C++中,文件的输入输出可以通过iostream类对象来完成(为什么是错的?给个解释呗_百度知道
c++问题。在C++中,文件的输入输出可以通过iostream类对象来完成(为什么是错的?给个解释呗
提问者采纳
控制文件输入输出的应该是fstream类型,iostream定义读写控制窗口的类型。
提问者评价
其他类似问题
为您推荐:
iostream的相关知识
其他2条回答
直接QQ管家 一次性程序帮你弄好 不要自己安装
iostream应该不是一个类吧,这应该算一个作用域..
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁1722人阅读
技术(54)
http://blog.csdn.net/zhangliang_218/archive//5544802.aspx
zz: /aa/archive//147889.html
一直不明白c++中类中的函数和成员变量在实例化对象后在内存中究竟是个什么样的布局。一度以为一个对象的内存布局应该包括函数体和成员变量,后来才知道
对象的内存布局是不包括函数体的。也就是说实例化一个类后,该对象占用的内存空间大小实际上是它的成员变量在内存中所占用空间大小(注意,含有静态成员变
量和虚函数的类对象例外)。以下分析以下c++类对象在内存中的布局,并且探讨在给定一个类的成员变量的类型和数量时,如何使得类实例化后对象所占用的内
存空间最小(考虑变量在内存中对齐)。
先给出一个类,如下:
&&&&&&&&&cout&
&&&&&&&&&cout&
&&&&&&&&&cout&
&d;&&&&&&&&
&&&&&cout&
& //输出是24
上代码输出是:24。也就是说对象a占用内存空间大小是24字节,这个24字节是怎么得来的呢?我们注意到在类A中存在虚函数,而只有类中有虚函数存在,
则可以知道,在每个类对象占用内存空间的首部都会有一个虚函数表,这个虚函数表可以看成是一个指针数组,在对象a中虚函数表中总共有2项,因为类A中存在
两个虚函数,每个虚函数都在虚函数表中有一个项对应。现在我们知道虚函数表是2个指针的内存大小,所以是2*4=8字节。然后a,c,e总共占用
4+1+1=6字节,由于需要进行内存对齐,所以实际上它占用的大小是8字节(即类对象中的内存按照占用内存空间最大的变量来对齐,static变量不考
虑在内)。然后是b占用8字节,static变量d不占用空间,综上对象a占用空间大小为8(虚函数表)+8(a,c,e)+8(b)=24字节。具体可
以在vs下调试,查看a的地址。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:55832次
积分:1234
积分:1234
排名:千里之外
原创:70篇
转载:41篇
(1)(1)(2)(3)(1)(3)(3)(1)(12)(7)(8)(5)(1)(5)(5)(1)(1)(6)(5)(9)(5)(11)(4)(8)(3)一种实现永久对象跨平台存取的方法
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
一种实现永久对象跨平台存取的方法
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口【C++中关于类的定义中常对象定义后调用构造函数的问题?】-突袭网
10:15:01【 转载互联网】 作者: &&|&责编:李强
&&& &为了解决用户可能碰到关于"C++中关于类的定义中常对象定义后调用构造函数的问题?"相关的问题,突袭网经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"C++中关于类的定义中常对象定义后调用构造函数的问题?"相关的详细问题如下:RT,我想知道:C++中关于类的定义中常对象定义后调用构造函数的问题?===========突袭网收集的解决方案如下===========
解决方案1:或者就是可以直接在构造函数体内进行初始化就行了,又在主函数中定义了一个常对象?那么,那个构造函数在赋初值时需要用初始化列表赋值吗,定义常对象的同时就要给对象赋初值在C++中定义类后。首先,调用的构造函数是和普通对象调用的构造函数一样的吗?最后,是吧,在给对象赋初值时?谢谢解决方案2:用初始化列表,对象的初始化是通过构造函数完成的。调用的构造函数与普通的对象一样,当然这个效率指的是当类中有类对象时,初始化基类,不能被赋值,还有就是LS说的,跟赋值没有关系,。构造函数采不采用初始化列表。也就是定义常对象的同时就要给对象赋初值,那么可以不必显式调用,要么必须传参,因为常量只能被初始化,如果构造函数不需要参数的话常量对象必须初始化(从常量这个词的语义上去考虑),作为类的成员只能在初始化列表中初始化,可以减少函数调用,如果对象初始化时要求有参数,二是效率。初始化列表主要原因一是继承解决方案3:谢谢你的回答!
================可能对您有帮助================
问:在C++中定义类后,又在主函数中定义了一个常对象。首先,定义常对象的同...答:常量对象必须初始化(从常量这个词的语义上去考虑)。也就是定义常对象的同时就要给对象赋初值,对象的初始化是通过构造函数完成的,如果构造函数不需要参数的话,那么可以不必显式调用,如果对象初始化时要求有参数,要么必须传参。调用的构造...===========================================问:@interface A:NSObject - (void) @end @implementation - (void)...答:您好, var _UID_ = 20324; var _MID_ = 20324; var _ROOT_ = ''; var _THEME_ = '/public/themes/ucaistyle'; var _PUBLIC_ = '/public'; var _LENGTH_ = 140; var _LANG_SET_ = 'zh-cn'; var $CONFIG = {...===========================================问:@interface A:NSObject - (void) @end @implementation - (void)...答:不懂你的描述,给个代码表示下,兴许可以明白你要干什么===========================================问:在主窗口类中,定义套接字client,然后调用套接字类的自定义函数FindLis...答:POSITION pos = clist-&GetHeadPosition();这一句报错,说明clist对象有问题,clist是一个指针,使用前要new出来。 即在调用POSITION pos = clist-&GetHeadPosition();之前是否执行了 clist = new CPtrL===========================================问:一、单选题(共 20 道试题,)V 1. const A * 以下声明的含义是() A....答:D. p是指向类A对象的常指针,该指针值是常量2. 关于对象成员的构造函数的调用...B. 与析构函数的调用顺序相同C. 与它们在类中定义说明的顺序相同D. 以上说法...===========================================问:经常见到c 语言源代码中有 const 出现,请问c 语言中的 const 是什么意...答:CONST是用来定义常量的===========================================问:经常见到c 语言源代码中有 const 出现,请问c 语言中的 const 是什么意...答:Visual C++ 6.0 建议学习的时候使用比较新的开发环境。===========================================问:非专业人士勿扰,要精确简练的答:c++i/o流,最基本的是一个ios类,然后派生出其它的istream 和ostream,ios里面有一个bp结构体指针,bp也是一个类,bp里面有一个base缓冲区,里面就装的是数据,比如cout ===========================================问:非专业人士勿扰,要精确简练的答:抽象类,按照我人个人的理解,就是把一个或多个的事物的共有特征抽出来组成的一个类,它可以有虚函数、函数、变量。但它是没有具体的对象的,打个比方,鸟是一种动物的统称,它是一个抽象的概念,它把所有的鸟类的共有特征都抽象出来了,比如我...===========================================}

我要回帖

更多关于 通达oa文件存取错误 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信