首页 > 编程语言 >输入输出流(C++)

输入输出流(C++)

时间:2023-05-17 21:46:19浏览次数:40  
标签:return weight int age 输入输出 Dog C++ dog2

一、问题描述

定义一个Dog类,包括体重和年龄两个数据成员及其成员函数,声明一个实例dog1,体重5,年龄10,使用I/O流把dog1的状态写入磁盘文件。再声明一个实例dog2,通过读取文件dog1的状态赋给dog2。分别用文本方式和二进制方式操作文件。

二、代码实现

 1 #include <fstream>
 2 #include <iostream>
 3 using namespace std;
 4 class Dog{
 5     private:
 6         int age,weight;
 7     public:
 8         Dog(int w=0,int a=0)
 9         {
10             age=a;
11             weight=w;
12         }
13         int getweight()
14         {
15             return weight;
16         }
17         int getage()
18         {
19             return age;
20         }
21         void show()
22         {
23             cout<<weight<<" "<<age<<endl;
24         }    
25         void change(int m,int n)
26         {
27             weight=m;
28             age=n;
29         }
30 };
31 int main()
32 {
33     Dog dog1(5,10);
34     Dog dog2;
35     int x,y;
36     x=dog1.getweight();
37     y=dog1.getage();
38     ofstream outfile("outfile.txt",ios::out|ios::binary);
39     if(!outfile)
40     {
41         cerr<<"Open or creat file erro."<<endl;
42         return 0;
43     }        
44     else
45     {
46         outfile<<x<<" "<<y<<endl;
47         outfile.close();
48     }
49     dog1.show();
50     ifstream infile("outfile.txt",ios::in|ios::binary);
51     if(!infile)
52     {
53         cerr<<"Open or creat file erro."<<endl;
54         return 0;
55     }
56     else
57     {
58         infile>>x;
59         infile.seekg(1,ios::cur);//从当前位置右移一个位置,即相当于一个空格
60         infile>>y;
61         dog2.change(x,y);    
62         infile.close();
63     }
64     dog2.show();
65     return 0;
66 }

 

标签:return,weight,int,age,输入输出,Dog,C++,dog2
From: https://www.cnblogs.com/tljx-cen/p/17410403.html

相关文章

  • 电流信号输入输出板,风电控制器控制板,光伏PID抑制器,逆变器总控板,公司DSP项目,如下:
    电流信号输入输出板,风电控制器控制板,光伏PID抑制器,逆变器总控板,公司DSP项目,如下:1)4通道-10mA~10mA电流信号采集,4路-40mA~40mA电流信号采集,1路-40mA~40mA电流信号输出。采用TMS320F28035控制,CAN通讯,提供原理图,PCB,元器件明细表。2)风力发电控制板,主要涉及电压电流信号采集,PWM波输出,风......
  • 2654. 使数组所有元素变成 1 的最少操作次数(c++,gcd性质)
    题目链接:2654.使数组所有元素变成1的最少操作次数方法一:计算最短的gcd为1的子数组解题思路本题目标:使得所有的数组元素都变为\(1\),通过求相邻元素\(gcd\)将其赋值给一方的方式;思路:若想操作数最少,那么就是不为\(1\)的数\(x\)和1求\(gcd\),即\(x=gcd(x,1)\),......
  • c++打卡练习(33)
    歌星大赛,十个评委打分,去掉一个最高分,去掉一个最低分,求剩下的八个评分的平均分,作为选手的最终分数流程图:伪代码:源代码:#include<iostream>usingnamespacestd;intmain(){ inta[10],b[8]; inti,j,k,t,sum=0,Ave,max,min; cout<<"输入十个正整数"<<endl; for(i=0;i<10;i++){ ......
  • C++调用python过程+Anaconda使用arcpy包踩的坑
    C++调python(python文件包含第三方库):工具:VS2017QT5插件PycharmAnaconda1.下载Anaconda,配置一个虚拟环境2.将这个环境里的DLLs和Lib包以及相应py文件,放至C++项目生成.exe文件同级目录下 3.将include和libs放在项目某文件夹下,在VS里添加附加包含目录、附加库目录和附加依赖......
  • Mac 配置 OpenCV C++ 版本
    今天紀錄一下如何在Mac上安裝OpenCVforC++開發環境使用Brew安装,pkgconfig检测,2023.5.17Macx86(Intel),MacM1(Applesilicon)和Ubuntu也適用此筆記用OpenCV4.7.0_4版本做範例1.安装cmake与pkg-config如果您的 Mac 沒有cmake,pkg-config請先......
  • C++进阶学习(三)constexpr关键字、值类别与decltype关键字、lambda表达式
    五、constexpr说明符constexpr说明符声明该变量或函数在编译期进行求值,从而适用于需要编译器常量表达式的地方在变量声明constexpr时,对象或非静态成员函数蕴含const,函数或静态成员变量蕴含inlineconstexpr变量必须立刻被初始化constexprinta=5;//a=6;/*error*/......
  • linux标准输入输出
    linux标准输入输出STDIN是标准输入,默认从键盘读取信息;STDOUT是标准输出,默认将输出结果输出至终端;STDERR是标准错误,默认将输出结果输出至终端。由于STDOUT与STDERR都会默认显示在终端上,为了区分二者的信息,就有了编号的0,1,2的定义,用1表示STDOUT,2表示STDERR2>&1,准错误重新定向到......
  • C++
    复数类的运算#include<iostream>usingnamespacestd;classComplex{public:Complex(doubler=0,doublei=0):real(r),imag(i){}friendComplexoperator+(Complexc1,Complexc2)//重载双目运算符'+'{Complexc3;......
  • c++unique
    #include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#include<cstring>usingnamespacestd;intn,a[5211314],len;intmain(){ cin>>n; for(inti=1;i<=n;++i){ cin>>a[i]......
  • C++ 智能指针
    在介绍智能指针之前,先来看原始指针的一些不便之处:它的声明不能指示所指到底是单个对象还是数组。它的声明没有告诉你用完后是否应该销毁它,即指针是否拥有所指之物。如果你决定你应该销毁指针所指对象,没人告诉你该用delete还是其他析构机制(比如将指针传给专门的销毁函数)......