C++在构造函数中打开文件的问题

作者&投稿:营玲 (若有异议请与网页底部的电邮联系)
c++ 构造函数的显示调用问题~

构造函数,顾名思义,只能在构造就(即创建)的时候使用。
a.A(2); //非创建时不可以调用构造函数
a.setx(); //是可以调用,但是他是把2赋值给了函数内的零时变量A,而不是a,你当然a的x还是1了
至于下边的a=a+b;调用隐式构造,其实就是重载的+函数中的返回值A(x+b.x)使用了一次,a=这个返回值是赋值操作,所以没有问题。

创建对象时,将参数与构造函数列表的参数匹配
B objB2(objA); 匹配的是B(A objA){cout<<"B(A)called"<<endl;} 所以就调用这个构造函数

#include <iostream>
#include <fstream>

class Time {
      int hour, minute, second;
      void getf_helper(std::ifstream&);
      friend void print(const Time&);
public:
      Time(const char* s=0) :hour(),minute(),second() { std::ifstream f(s ? s:"d:/mydatafile.txt"); getf_helper(f); }
      Time(std::ifstream& f) :hour(),minute(),second() { getf_helper(f); }
      ~Time() { std::ofstream o("d:/myfile.txt"); o<<hour<<' ' << minute<< ' ' << second << '
'; }
};

void Time::getf_helper(std::ifstream& f) { if (f>>hour>>minute>>second) return; std::cerr<<"Can't open source
"; }

void print(const Time& t) { std::cout << t.hour << ':' << t.minute << ' ' << t.second <<'
'; }
int main() { Time tm("d:/mydatafile.txt"); print(tm); return 0; }


Time(const char *s):datafile("s",ios::in) // 把分号去掉
Time(ifstream f):datafile("f",ios::in) // 同样的问题。



c#编程问题
\/\/5) 在Main方法中声明类型为这个类的一个具有5个对象的数组,但不要实际创建分配到数组里的对象 Test[] ts = new Test[5];} } public class Test { \/\/1) 创建一个类,用无参数的构造函数输出该类的类名。public Test(){ Console.WriteLine(this);} \/\/2) 增加一个重载的构造函数,带有...

c++问题,想问一下为什么这样填啊?打问号的这步是什么意思啊?谢谢!_百度...
构造函数对X和Y赋值啊,问号那里建了一个point类型的p1变量,给构造函数赋值10和10

C#中,定义构造函数的快捷键是什么 ?
VS中虽然没有构造函数的快捷键,但是对字段的封装有快捷键。(ctrl+R+E)或者在写字段时写打上PROP然后按2次TAB键,直接可以把字段和属性的格式打出来了,然后改下字段和属性的类型名称即可。构造函数是一个计算机术语,是一种特殊的方法,主要用来在创建对象时初始化对象,构造函数的命名必须和类名...

【c语言编程题】构造函数运用更相减损术求最大公约数
1.第20行中直接书写这个语句,只打印gcd函数中的输出部分,虽然也能得到返回值,但不会打印返回值。并不是不能得到返回值。2.printf("%d",gcd(x,y)运行过程:先运行函数gcd(),当然运行过程中,函数内包含的打印语句照样全部打印;最后再输出gcd函数得到的返回值。并不是只打印返回值。3.如果不...

Java类中的构造函数跟定义局部变量有什么区别?我怎么觉得一样的啊 定义...
比如一个类在前面定义了几个变量,里面有很多个方法,都可以直接调用类里面定义的变量,而成员变量出了自己的函数体,就被销毁了 2.构造方法相当有用,尤其是这种面向对象的语言,因为很多类需要传递参数,,传递参数都是靠构造函数完成的,因为只有构造函数可以把外面的参数传给 成员变量. .当一个类的代码进行...

Python输入若干个0-9之间的数字,并统计输出0-9出现的次数,打印在一行...
可以使用collections模块中的Counter类来统计输入的数字中0-9出现的次数。示例代码:在这段代码中,输入的数字字符串会被传入Counter类的构造函数中,然后通过counts[str(i)]来获取i出现的次数。最后通过循环打印出来。break代码解释:第一行让用户输入一个整数n,并将其转换为整型。第二行输出提示信息。

析构函数的标识符怎样在电脑上打出来
默认构造函数是没有参数的,CExample();你下面那个图是带参数的构造函数,析构函数在对象所在的函数执行完了,自动调用的 include <iostream>using namespace std;class CExample{private:int a;public:CExample()\/\/a1执行的是默认构造函数,输出5{a = 5;}~CExample(){cout << "析构函数被调用"...

02.对注解的分类讲解——Inject部分
作用于成员变量时: Dagger2根据该注解及成员变量的类型,从Moudle中得到相应实例,或者根据使用了@Inject标注的无参构造函数的类,获取该类的实例。注意:成员变量的访问修饰符不能是private 作用于构造函数时: 一般为无参数的一般构造函数,可以直接在其它类中通过依赖注入的方式进行注入。Inject 不...

java中一个类里面直接打括号是什么意思
括号里的是初始化块,这里面的代码在创建java对象时执行,而且在构造器之前执行!其实初始化块就是构造器的补充,初始化快是不能接收任何参数的,定义的一些所有对象共有的属性、方法等内容时就可以用初始化块了初始化!!好处是可以提高初始化块的复用,提高整个应用的可维护性。参考资料:疯狂java讲义 ...

...为其定义两个属性:颜色和型号,为该类创建两个构造函数:
如下:有两个方法,一个是公有的run()方法,打印输出格式为"品牌为...颜色为...的车正在路上行驶"。另一个是静态的方法show(),打印输出格式为"大小为...的车正在展览"。创建一个测试类Test,在main函数中创建两个对象,分别调用自己run()方法。1、常用的构造函数:(1)var arr = []; 为...

吉县18359837444: C++对文件操作的类,打开关闭文件的操作在每个函数中写还是只放在构造函数和析构函数中比较好 -
丘蚂灵孢: 严格上来说要看情况,如果你是在构造函数中打开的,那么你写在析构函数中可以!但是如果你使用的文件操作类时候并没有打开文件,但还是将关闭放入到析构函数中时候就不好了!写在么个函数中也有好处就是资源释放快!所以要分情况讨论!

吉县18359837444: C++ <fstream>读取txt的问题 -
丘蚂灵孢: 因为字符串找到\0才算结束,所以要先对字符串清零处理 比如 char num[9] = {0};

吉县18359837444: C++中怎么打开一个二进制文件 -
丘蚂灵孢: 1、使用fopen函数的二进制模式“rb”就可以打开一个二进制文件. fopen的函数原型:FILE * fopen(const char * path,const char * mode);fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式: r 以只读方式打开文件...

吉县18359837444: 问一个关于c++调用另一文件函数的问题 -
丘蚂灵孢: 你这样include另一cpp文件是不推荐这么做的 当然这样做了只要编译和链接第一个源文件即可 相当于两个文件合并一般不用include 只要在第一个文件里声明下第二个文件里的函数就可以编译了 当然链接时要两个文件的目标文件链接在一起 才能生成可执行程序 小程序这样没问题 大一点的工程 函数声明要放到头文件里面

吉县18359837444: 在C++中怎么打开文件夹,并对里面的文件进行读写? -
丘蚂灵孢: 包含库文件 声明文件流ifstream(写入流),ofstream(只读流) 或fstream(双向流)的对象,构造函数参数中用const char*表明路径 然后直接用重载的运算符>就可以,就像从标准输入输出流读写所用的cout/cin对象一样

吉县18359837444: C++ 打开TXT文件(MFC) -
丘蚂灵孢: 假设你的一批TXT命令文件名为: name1.txt name2.txt name3.txt ...... 而复制到abc.txt文件中. 你可以这样操作:copy name1.txt+name2.txt+name3.txt abc.txt 这样即可. 说明,如果还存在第四个或以上的文件,只需在以上命令后面+第四个文件...

吉县18359837444: 如何实现c++中文件的读取 -
丘蚂灵孢: 常见的有以下几种方法: 一、ASCII 输出 为了使用下面的方法, 你必须包含头文件 (译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的.).这是的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上,已经被...

吉县18359837444: 文件操作,要求以二进制方式打开命令行参数中指定的文件 -
丘蚂灵孢: 一:C++ 要读取文件必须包含<fstream>头文件,这里包含了C++读写文件的方法. 可以使用fstream类,这个类可以对文件进行读写操作. 1、打开文件. 打开文件可以有两种方式,第一种可以使用fstream类的构造函数. fstream file("test.dat...

吉县18359837444: c++文件操作 -
丘蚂灵孢: 1.C++可以使用C的函数输入输出写文件 2.C++例子:为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代< fstream.h>,所有的C++标准头文件都是无后缀的.).这是 的一个扩展集, 提供有缓冲的文件输入输出操...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网