c++面向对象程序设计(第二版第二章)

第二章、
类和对象的特性


简介:

c++面向对象程序设计(第二版)第二章相关习题的解答


题一

题目:改写本章例2.1程序,要求:
(1).将数据成员改为私有的
(2).将输入和输出的功能改为由成员函数实现
(3).在类体内定义成员函数

演示代码如下:

#include<iostream>
using namespace std;
class Time
{
    
    
private:
	int hour;
	int minute;
	int sec;
public:
	void set_time(void)
	{
    
    
		cout<<"请输入小时:"<<endl;
		cin>>hour;
		cout<<"请输入分钟:"<<endl;
	    cin>>minute;
		cout<<"请输入秒:"<<endl;
		cin>>sec;
	}
	void show_time(void)
	{
    
    
		cout<<"最后时间为:"<<hour<<":"<<minute<<":"<<sec<<endl;
	}
};

int main()
{
    
    
	 Time T;
	 T.set_time();
	 T.show_time();
	 return 0;
}

题二

题目:在第一题的基础上进行如下修改:在类体内声明函数,而在类体外定义成员函数.

演示代码如下:

#include<iostream>
using namespace std;
class Time
{
    
    
private:
	int hour;
	int minute;
	int sec;
public:
	void set_time(void);
	void show_time(void);
	
};
void Time::set_time(void)
{
    
    
    cout<<"请输入小时:"<<endl;
	cin>>hour;
	cout<<"请输入分钟:"<<endl;
	cin>>minute;
    cout<<"请输入秒:"<<endl;
	cin>>sec;
}
void Time::show_time(void)
{
    
    
		cout<<"最后时间为:"<<hour<<":"<<minute<<":"<<sec<<endl;
}
int main()
{
    
    
	 Time T;
	 T.set_time();
	 T.show_time();
	 return 0;
}

题三

题目:在本章第2.3.3节中分别给出了包含类定义的头文件student.h,包含成员函数定义的源文件student.cpp以及包含主函数的源文件main.cpp.请完善改程序,在类中增加一个对数据成员赋初值的成员函数set_value.

演示代码如下:

Student.h头文件代码:
#include<iostream>
#include<string>
using namespace std;

class Student
{
    
    
public:
	void set_value();
    void display();
private:
	int num;
	string name;
	char sex;
};

Student.cpp源文件代码:
#include<iostream>
#include<string>
#include"student.h"
using namespace std;
void Student::set_value()
{
    
    
	cout<<"please your num:"<<endl;
	cin>>num;
	cout<<"please your name:"<<endl;
	cin>>name;
	cout<<"please your sex:"<<endl;
	cin>>sex;
}
void Student::display()
{
    
    
	cout<<"num:"<<num<<endl;
	cout<<"name:"<<name<<endl;
	cout<<"sex:"<<sex<<endl;
}

Main.cpp源文件代码:
#include<iostream>
#include<string>
#include"student.h"
int main()
{
    
    
	Student S;
	S.set_value();
	S.display();
    return 0;
}


题四

题目:将本章的例2.4改写为一个多文件的程序:
(1).将类定义放在头文件arraymax.h中.
(2).将成员函数定义放在源文件arraymax.cpp中.
(3).主函数放在源文件file1.cpp中

演示代码如下:

Arraymax.h头文件代码:
#include<iostream>
using namespace std;
class Array_max
{
    
    
public:
	void set_value();
	void max_value();
	void show_value();
private:
	int array[10];
	int max;
};

Arraymax.cpp源文件代码:
#include<iostream>
#include"arraymax.h"
using namespace std;
void Array_max::set_value()
{
    
    
	int i;
cout<<"请输入10个数:"<<endl;
	for(i=0;i<10;i++)
		cin>>array[i];
}
void Array_max::max_value()
{
    
    
	int i;
	max=array[0];
	for(i=1;i<10;i++)
		if(array[i]>max)
			max=array[i];
}
void Array_max::show_value()
{
    
    
	cout<<"max="<<max;
}

File1.cpp源文件代码:
#include<iostream>
#include"arraymax.h"
using namespace std;
int main()
{
    
    
	Array_max arrmax;
	arrmax.set_value();
	arrmax.max_value();
	arrmax.show_value();
	return 0;
}


题五:

题目:需要求三个长方柱的体积,请编写一个基于对象的程序.数据成员包括length,width,height.要求用成员函数实现以下功能:
(1).由键盘分别输入3个长方柱的长,宽,高;
(2).计算长方体的体积;
(3).输出3个长方体的体积;
请编写程序,上机调试并运行.

演示代码如下:

#include<iostream>
using namespace std;
class volume
{
    
    
public:
		void input();
		void show_volume(); 
		void show1_volume(); 
private:
	    int length;
		int width;
		int high;
		int Volume;
};

int main()
{
    
    
	volume v[3];
	int i=0;
	for(i=0;i<3;i++)
	{
    
    
		v[i].input();
	    v[i].show_volume();
	    v[i].show1_volume();
	}
	system("pause");
	return 0;
}
void volume::input()
{
    
    
	cout<<"please input length:"<<endl;
	cin>>length;
	cout<<"please input width:"<<endl;
	cin>>width;
	cout<<"please input high:"<<endl;
	cin>>high;
}
void volume::show_volume()
{
    
    
	Volume=length*width*high;
}
void volume::show1_volume()
{
    
    
	cout<<"volume="<<Volume<<endl<<endl;
}

猜你喜欢

转载自blog.csdn.net/qq_44250569/article/details/108933155