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++ <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++标准头文件都是无后缀的.).这是 的一个扩展集, 提供有缓冲的文件输入输出操...