第八章课后习题

1、找出程序错误
#include<iostream>
using namespace std;
class Time{//主要错误,若类中不指定成员访问属性,默认私有,不能被外界调用, 而如果是普通函数不可调用类的私有成员,所以两种修改方法
//1)将数据成员修改为公有,函数声明为类外普通函数  2) 数据成员声明为私有,函数声明为类的公有成员函数以在类外调用 void set_time(void);void show_time(void);int hour;int minute;int sec;
};
Time t;
int main(){ set_time();show_time();             return 0;
}
int set_time(void){cin>>t.hour;cin>>t.minute;cin>>t.sec;
}
int show_time(void){cout<<t.hour<<" "<<t.minute<<" "<<t.sec<<endl;
}
#include<iostream>
using namespace std;
//修改1 将数据成员修改为公有,函数声明为类外普通函数
class Time{public: int hour;int minute;int sec;
};
Time t;
int main(){ void set_time(void);//使用函数前先声明 void show_time(void);set_time();show_time();             return 0;
}
void set_time(void){//void 类型 cin>>t.hour;cin>>t.minute;cin>>t.sec;
}
void show_time(void){cout<<t.hour<<" "<<t.minute<<" "<<t.sec<<endl;
}
#include<iostream>
using namespace std;
//修改2 数据成员声明为私有,函数声明为类的公有成员函数以在类外调用
class Time{public: void set_time(void);void show_time(void);private:int hour;int minute;int sec;
};
Time t;
int main(){ t.set_time();//公有成员调用应该限定对象名 t.show_time();             return 0;
}
void Time::set_time(void){//类外定义公有成员函数,类名限定 cin>>t.hour;cin>>t.minute;cin>>t.sec;
}
void Time::show_time(void){cout<<t.hour<<" "<<t.minute<<" "<<t.sec<<endl;
}
2、按要求修改上面的类
#include<iostream>
using namespace std;
class Time{public: void set_time(void){cin>>hour;cin>>minute;cin>>sec;}void show_time(void){cout<<hour<<" "<<minute<<" "<<sec<<endl;  }private:int hour;int minute;int sec;
};
Time t;
int main(){ t.set_time();t.show_time();             return 0;
}
3、按要求修改上面类
//即第一题修改2
#include<iostream>
using namespace std;
class Time{public: void set_time(void);void show_time(void);private:int hour;int minute;int sec;
};
Time t;
int main(){ t.set_time();//公有成员调用应该限定对象名 t.show_time();             return 0;
}
void Time::set_time(void){//类外定义公有成员函数,类名限定 cin>>t.hour;cin>>t.minute;cin>>t.sec;
}
void Time::show_time(void){cout<<t.hour<<" "<<t.minute<<" "<<t.sec<<endl;
}
4、对类增加set_value()函数
//8.3.3没有给出相关程序! 参考书上的类,以及答案,完成类定义头文件,成员函数定义和main定义
//建立项目,包含student.h student.cpp  main.cpp//student.h
class Student{public: void display();void set_value();private:int num;char name[20];char sex;
}; //student.cpp
#include "student.h"
#include<iostream>
using namespace std;
void Student::display(){cout<<"num:"<<num<<endl;cout<<"name:"<<name<<endl;cout<<"sex:"<<sex<<endl;
}
void Student::set_value(){cout<<"please input num,name,sex(F/M):"<<endl;cin>>num>>name>>sex;
}//main.cpp
#include "student.h"
int main(){Student stu;stu.set_value();stu.display();return 0;
}
5、对例题8.4改写成多文件程序
//与上一题类似
//建立项目,包含arraymax.h arraymax.cpp  file1.cpp//arraymax.h
class Array_max{public: void set_value();void max_value();void show_value();private:int array[10];int max;
}; //arraymax.cpp
#include "arraymax.h"
#include<iostream>
using namespace std;
void Array_max::set_value(){int i;cout<<"input ten integers:"<<endl;for(i=0;i<10;i++){cin>>array[i];}
}
void Array_max::max_value(){int i;max=array[0];for(i=0;i<10;i++){if(array[i]>max) max=array[i];}
}
void Array_max::show_value(){cout<<"max="<<max<<endl;
}//file1.cpp
#include "arraymax.h"
int main(){Array_max am;am.set_value();am.max_value();am.show_value();return 0;
}
6、写一个长方体类
#include<iostream>
using namespace std;
class Cuboid{public: void set_value();double volume();void show_v();private:double length;double width;double height;
};
void Cuboid::set_value(){cout<<"input lenght,width,height:"<<endl;cin>>length>>width>>height;
}
double Cuboid::volume(){return length*width*height;
}
void Cuboid::show_v(){cout<<"volume="<<volume();
}
int main(){ Cuboid r;r.set_value() ;r.show_v() ;                return 0;
}

谭浩强C++ 第八章相关推荐

  1. C语言 谭浩强 题目 -第八章

    文章目录 笔记 通过指针引用数组 用数组名作函数参数 以变量名和数组名作为函数参数的比较 例题 [例8.2] [例8.6] [例8.3] [例 8.4] [例 8.5] [例 8.6] [例8.7] ...

  2. 谭浩强《C程序设计》书后习题 第八章

    最近要复习一下C和C++的基础知识,于是计划把之前学过的谭浩强的<C程序设计>和<C++程序设计>习题重新做一遍. 编译环境为:操作系统32位Win7,编译工具VC++6.0 ...

  3. c语言程序设计第五版课后习题答案谭浩强第八章课后题

    c语言程序设计第五版课后习题答案谭浩强第八章课后题 输入三个字符串,按由大到小的顺序输出 要求用指针实现 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个属兑换.写三个函数:1.输入 ...

  4. 谭浩强c语言第八章指针ppt,谭浩强c语言第八章_指针.ppt

    谭浩强c语言第八章_指针 第八章 8.1地址和指针的概念 8.2 变量的指针和指向变量的指针变量 8.7 指针数组和指向指针的指针 8.7.1 指针数组的概念 一个数组,若其元素均为指针类型数据,称为 ...

  5. C程序设计 谭浩强 第九章

    结构体 注:结构体类型的名字是由一个关键字struct和结构体名组合而成的(例如struct Student).结构体名是由用户指定的,又称"结构体标记",以区别于其他结构体类型. ...

  6. C语言程序设计第五版谭浩强课后答案 第九章习题答案

    C语言程序设计第五版谭浩强第九章答案 1.定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天,注意闰年问题. 2.写一个函数days,实现第1 题的计算.由主函数将年.月.日传递给days ...

  7. C程序设计谭浩强版总结笔记

    结构体 注:结构体类型的名字是由一个关键字struct和结构体名组合而成的(例如struct Student).结构体名是由用户指定的,又称"结构体标记",以区别于其他结构体类型. ...

  8. C语言(谭浩强第5版)课后习题知识总结

    目录 第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章 第十章 第一章 1.程序:就是一组计算机能够识别和执行的指令集合,每一条指令使计算机执行特定操作. 程序设计:从确定任务到 ...

  9. 谭浩强c语言第7章14题,谭浩强C语言_第7章_函数2.ppt

    谭浩强C语言_第7章_函数2 第八章 函数 函数概述 #include void main() { float average(float array[10]); /* 函数声明 */ float s ...

最新文章

  1. python gevent 协程
  2. 我们用力的活着却把自己丢了
  3. ajax 与route的区别,浅析vue-router jquery和params传参(接收参数)$router $route的区别
  4. #面试!,一定要注意,避免踩这些雷!!
  5. 《redis 设计与实现》读书笔记
  6. PV、UV、UIP、VV、CPC、CPM、RPM、CTR指的是什么?
  7. centos7重新加载服务的命令_CentOS7 从查看、启动、停止服务说起systemctl
  8. spring5企业级开发实战 pdf_终于总结出Spring全家桶+微服务设计模式+Netty+MySQL调优PDF...
  9. python安装成功的图标_安装Python
  10. Pandas DateOffset
  11. lesson3 Qt Signal and slots (QSlider and QProgressBar)
  12. C# 从入门到精通 学习笔记2 第3章 方法和作用域
  13. 【RRT三维路径规划】基于matlab RRT算法无人机三维路径规划【含Matlab源码 1270期】
  14. 实现企业微信机器人自动发消息
  15. matlab中gui选择一个文件,matlabgui中定义函数
  16. matlab z统计量,z统计量(z统计量与t统计量)
  17. python 正则表达式(3.24)
  18. SwiftUI SF Symbols 好处及其使用指南
  19. 这个神器:功能强大的 Mac 剪切板记录管理工具
  20. 手机做证件照的方法是什么

热门文章

  1. 无法成功完成操作,因为文件包含病毒或潜在的垃圾软件。
  2. 一文了解数据分析师视角下的数据中台
  3. 动态规划---例题5.凸多边形最优三角剖分问题
  4. 原生js编写的todos
  5. js直接打印pdf文件内容
  6. 计算机快捷键大全、新手必备
  7. Word2vec原理与应用
  8. ABP Vnext 扩展微信小程序授权登录
  9. Android 逆向基础
  10. 电商时代的逆向思维法则