一段有关c++构造函数的程序

来源:互联网  责任编辑:小易  时间:2017/1/9 12:01:04
用户提出问题:一段有关c++构造函数的程序,具体如下: c++ 构造函数 文件流

通过互联网整理获得以下解决方法:

=================1楼=====================

fin>>AllBook; // 读取文件中的数据,解析为一个int数,如果文件流没有出错,就相当于给AllBook 赋值
for(int i=0; i<AllBook; i++)

=================2楼=====================

引用 1 楼 jianwen0529 的回复:
fin>>AllBook; // 读取文件中的数据,解析为一个int数,如果文件流没有出错,就相当于给AllBook 赋值
for(int i=0; i<AllBook; i++)
但完整的程序中并没有AllBook啊,也就是磁盘文件中没有这个数据。

=================3楼=====================

book.txt
==============
磁盘应该有这个文件。

=================4楼=====================

引用 2 楼 hhhlizhao 的回复:
Quote: 引用 1 楼 jianwen0529 的回复:

fin>>AllBook; // 读取文件中的数据,解析为一个int数,如果文件流没有出错,就相当于给AllBook 赋值
for(int i=0; i<AllBook; i++)
但完整的程序中并没有AllBook啊,也就是磁盘文件中没有这个数据。


是读取程序当前目录下 book.txt 文件,然后读取文件里面的第一个数据
如果文件不存在,那你判断流的时候就应该是失败的
if(fin) //false

=================5楼=====================

引用 2 楼 hhhlizhao 的回复:
Quote: 引用 1 楼 jianwen0529 的回复:

fin>>AllBook; // 读取文件中的数据,解析为一个int数,如果文件流没有出错,就相当于给AllBook 赋值
for(int i=0; i<AllBook; i++)
但完整的程序中并没有AllBook啊,也就是磁盘文件中没有这个数据。


再有,你搞错逻辑了,是数据赋值给你的变量 AllBook

=================6楼=====================

引用 4 楼 jianwen0529 的回复:
Quote: 引用 2 楼 hhhlizhao 的回复:

Quote: 引用 1 楼 jianwen0529 的回复:

fin>>AllBook; // 读取文件中的数据,解析为一个int数,如果文件流没有出错,就相当于给AllBook 赋值
for(int i=0; i<AllBook; i++)
但完整的程序中并没有AllBook啊,也就是磁盘文件中没有这个数据。


是读取程序当前目录下 book.txt 文件,然后读取文件里面的第一个数据
如果文件不存在,那你判断流的时候就应该是失败的
if(fin) //false
boot.txt文件是存在的,但AllBook这个数据在程序中从头找到尾都没有找到,会不会是作者写错了?

=================7楼=====================

引用 3 楼 yshuise 的回复:
book.txt
==============
磁盘应该有这个文件。
book.txt文件有,但AllBook这个变量程序中只在这个函数中出现了,而且没有初始化,不知道它是什么意思啊!

=================8楼=====================

引用 6 楼 hhhlizhao 的回复:
Quote: 引用 4 楼 jianwen0529 的回复:

Quote: 引用 2 楼 hhhlizhao 的回复:

Quote: 引用 1 楼 jianwen0529 的回复:

fin>>AllBook; // 读取文件中的数据,解析为一个int数,如果文件流没有出错,就相当于给AllBook 赋值
for(int i=0; i<AllBook; i++)
但完整的程序中并没有AllBook啊,也就是磁盘文件中没有这个数据。


是读取程序当前目录下 book.txt 文件,然后读取文件里面的第一个数据
如果文件不存在,那你判断流的时候就应该是失败的
if(fin) //false
boot.txt文件是存在的,但AllBook这个数据在程序中从头找到尾都没有找到,会不会是作者写错了?

Library::Library() 
{
    borrownum=0;
    returnnum=0;
    int AllBook,AllStudent; //那你这个定义是什么?
    ifstream fin("book.txt"); //以输入方式打开磁盘文件book.txt(输入方式即从磁盘向显示器输出)
    if(fin)

=================9楼=====================

引用 8 楼 jianwen0529 的回复:
Quote: 引用 6 楼 hhhlizhao 的回复:

Quote: 引用 4 楼 jianwen0529 的回复:

Quote: 引用 2 楼 hhhlizhao 的回复:

Quote: 引用 1 楼 jianwen0529 的回复:

fin>>AllBook; // 读取文件中的数据,解析为一个int数,如果文件流没有出错,就相当于给AllBook 赋值
for(int i=0; i<AllBook; i++)
但完整的程序中并没有AllBook啊,也就是磁盘文件中没有这个数据。


是读取程序当前目录下 book.txt 文件,然后读取文件里面的第一个数据
如果文件不存在,那你判断流的时候就应该是失败的
if(fin) //false
boot.txt文件是存在的,但AllBook这个数据在程序中从头找到尾都没有找到,会不会是作者写错了?

Library::Library() 
{
    borrownum=0;
    returnnum=0;
    int AllBook,AllStudent; //那你这个定义是什么?
    ifstream fin("book.txt"); //以输入方式打开磁盘文件book.txt(输入方式即从磁盘向显示器输出)
    if(fin)
有AllBook的定义,但没有初始化啊!  for(int i=0; i<AllBook; i++)这段应该怎么解释?

=================10楼=====================

有AllBook的定义,但没有初始化啊!  for(int i=0; i<AllBook; i++)这段应该怎么解释?
我猜你脑袋肯定短路了
我举个简单例子吧
int n = 10; //定义并初始化

int j; //定义一个变量,但是没有初始化
j = 10;
for (int i = 0; i < j; i++)
{
}
然后你觉得我j现在不能用吗

fin>>AllBook; 就相对于读取一个数据给AllBook赋值
跟上面的 j = 10; 没有任何本质上的区别

=================11楼=====================

引用 10 楼 jianwen0529 的回复:
有AllBook的定义,但没有初始化啊!  for(int i=0; i<AllBook; i++)这段应该怎么解释?
我猜你脑袋肯定短路了
我举个简单例子吧
int n = 10; //定义并初始化

int j; //定义一个变量,但是没有初始化
j = 10;
for (int i = 0; i < j; i++)
{
}
然后你觉得我j现在不能用吗

fin>>AllBook; 就相对于读取一个数据给AllBook赋值
跟上面的 j = 10; 没有任何本质上的区别
fin>>AllBook是从磁盘文件book.txt读入数据到显示器啊,但我的book.txt中并没有AllBook,不知道这个参数指的什么啊?

=================12楼=====================

引用 11 楼 hhhlizhao的回复:
Quote: 引用 10 楼 jianwen0529 的回复:
有AllBook的定义,但没有初始化啊!  for(int i=0; i<AllBook; i++)这段应该怎么解释?

我猜你脑袋肯定短路了
我举个简单例子吧
int n = 10; //定义并初始化

int j; //定义一个变量,但是没有初始化
j = 10;
for (int i = 0; i < j; i++)
{
}
然后你觉得我j现在不能用吗

fin>>AllBook; 就相对于读取一个数据给AllBook赋值
跟上面的 j = 10; 没有任何本质上的区别
fin>>AllBook是从磁盘文件book.txt读入数据到显示器啊,但我的book.txt中并没有AllBook,不知道这个参数指的什么啊?
你赢了,你成功的感动了我!!

=================13楼=====================

就比如你文件内有个字符串 10
你也不用管具体怎么读的了,然后文件流把这个字符串10解析为int类型赋值给你的变量

=================14楼=====================

即使没有进行初始化,由于它是局部变量,编译器也会对他进行一个默认的赋值,只是不可控而已

=================15楼=====================

引用 13 楼 jianwen0529 的回复:
就比如你文件内有个字符串 10
你也不用管具体怎么读的了,然后文件流把这个字符串10解析为int类型赋值给你的变量
我明白你的意思了,但如果我的文件内有两个字符串,一个10,一个20,那文件流怎么知道该读哪一个呢?

=================16楼=====================

引用 15 楼 hhhlizhao 的回复:
Quote: 引用 13 楼 jianwen0529 的回复:

就比如你文件内有个字符串 10
你也不用管具体怎么读的了,然后文件流把这个字符串10解析为int类型赋值给你的变量
我明白你的意思了,但如果我的文件内有两个字符串,一个10,一个20,那文件流怎么知道该读哪一个呢?


你去学习下文件IO流吧

=================17楼=====================

文件指针在哪就从哪开始读,建议楼主去看下这方面的知识

=================18楼=====================

cin是开源的。

=================19楼=====================

ifstream也是开源的。

如果您还有更好的解决方法,请在最下面评论中留下您的解决方法


  • 本文相关:
  • 站长必读,如何真正写好一篇原创文章
  • 互联网之路细嗅蔷薇 资深站长分享掘金之道
  • 企业站的站长的工作重心究竟有哪些
  • 浅析:行业门户网站的一些盈利模式
  • 3000IP的企业网站每天订单不到30个的苦恼
  • 网站想内外兼修?先学习提高网站可用性的6大原则
  • 浅谈网页设计中的简约之美
  • 网页改版实战:日本设计师如何彻底优化旅游网站?
  • 网页改版实战!日本设计师如何彻底优化招聘网站?
  • 2015年值得关注的21个网页设计趋势
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2015 www.zgxue.com All Rights Reserved