南京邮电大学程序设计类教辅平台c++第三章作业编程题答案

南京邮电大学程序设计类教辅平台c++第三章作业编程题答案

1.5.1构建一个类,含有三个数据成员,分别表示立方体的三条边长;含有构造函数(默认边长为3,2,1)和一个用来计算立方体体积的成员函数Compute()。
main()函数如下,请复制使用

int main()
{
	int l,w,h;
	cout<<"输入立方体的长宽高:"<<endl;
	cin>>l>>w>>h;
	Cube A(l,w,h);
	Cube B;
	cout<<A.Compute()<<endl;
	cout<<B.Compute()<<endl;
}

代码:

#include<iostream>
using namespace std;
class Cube
{
	public:
	double l;double w;double h;
	double Compute();
	Cube (){
	l=3,w=2,h=1;}
	Cube (int length,int width,int height){
	l=length,w=width,h=height;}
};
double Cube::Compute()
{
	return l*w*h;
}
int main()
{
	int l,w,h;
	cout<<"输入立方体的长宽高:"<<endl;
	cin>>l>>w>>h;
	Cube A(l,w,h);
	Cube B;
	cout<<A.Compute()<<endl;
	cout<<B.Compute()<<endl;
}`

2.设计一个Car类,它的数据成员要能描述一辆汽车的品牌,型号,出厂年份和价格,成员函数包括提供合适的途径来访问数据成员,在main()函数中定义类的对象并调用相应成员函数。
设计私有数据成员:
string brand;
string type;
int year;
double price;
公有成员函数:
构造函数: 默认品牌undefinition,默认型号undefinition,默认年份2000,默认价格 0;
获取数据成员的函数 :根据需要设计
使用如下的main()函数:

int main() 
{ 
Car car1("FIAT","Palio",2007,6.5); 
cout<<car1.GetBrand (  ) <<"|"<<car1.GetType (  ) <<"|"<<car1.GetYear (  ) <<"|" <<car1.GetPrice (  ) <<endl; 
Car car2; 
cout<<car2.GetBrand (  )<<"|"<<car2.GetType (  )<<"|"<<car2.GetYear (  ) <<"|" <<car2.GetPrice (  )<<endl; 
return 0; 
}

答案:

#include <iostream>
#include<string>
using namespace std;
class Car
{
private:
string brand;
string type;
int year;
double price;
public:
Car()
{
this->brand ="undefinition";
this->type="undefinition";
this->year=2000;
this->price=0;
}
Car(string brand,string type,int year, double price)
{
this->brand =brand;
this->type=type;
this->year=year;
this->price=price;
}
string GetBrand()
{
return brand;
}
string GetType()
{
return type;
}
int GetYear()
{
return year;
}
double GetPrice()
{
return price;
}
};
int main() 
{ 
Car car1("FIAT","Palio",2007,6.5); 
cout<<car1.GetBrand (  ) <<"|"<<car1.GetType (  ) <<"|"<<car1.GetYear (  ) <<"|" <<car1.GetPrice (  ) <<endl; 
Car car2; 
cout<<car2.GetBrand (  )<<"|"<<car2.GetType (  )<<"|"<<car2.GetYear (  ) <<"|" <<car2.GetPrice (  )<<endl; 
return 0; 
}

3.定义一个学生类,设计私有数据成员:
年龄:age; 姓名 string name;
公有成员函数:
构造函数 带参数的构造函数 Student(int a, string m);
不带参数的构造函数 Student();
改变数据成员值的函数 void SetMember(int a, string m);
获取数据成员值的函数 int Getage()
string Getname()

在main()中定义一个有3个元素的对象数组并分别初始化,然后输出对象数组的信息。
main 函数的内容如下,请直接复制使用

int main( )
{
Student stu[3]={Student(13,"wang")} ;   /*第一个元素用带参构造函数初始化;第二、三个元素由无参构造函数初始化,默认年龄为 0 ,姓名为 "unnamed"*/
stu[2].SetMember(12,"zhang");           /*修改第三个元素的数据成员值*/
cout<<stu[0].Getage( )<<","<<stu[0].Getname( )<<"\n";
cout<<stu[1].Getage( )<<","<<stu[1].Getname( )<<"\n"; 
cout<<stu[2].Getage( )<<","<<stu[2].Getname( )<<"\n"; /*这三句可改用一个循环*/
    return 0;
}

答案:

#include<iostream>
#include<string.h>
using namespace std;
class Student
{
int age;
char *name;
public:
Student(int m,char *n);
Student( );
~ Student();
void SetMember(int m,char *n);
int Getage( );
char *Getname();
};
Student::Student(int m,char *n)
{
age=m;
name=new char[strlen(n)+1];
strcpy(name,n);
}
Student::Student()
{
age=0;
name=new char[8];
strcpy(name, "unnamed");
}
Student::~Student()
{
delete []name;}
void Student:: SetMember (int m,char *n)
{
age=m;
if (name) delete []name;
name=new char[strlen(n)+1];
strcpy(name,n);
}
int Student:: Getage()
{
return age;}
char* Student:: Getname()
{
return name;}
int main( )
{
Student stu[3]={Student(13,"wang")} ;   /*第一个元素用带参构造函数初始化;第二、三个元素由无参构造函数初始化,默认年龄为 0 ,姓名为 "unnamed"*/
stu[2].SetMember(12,"zhang");           /*修改第三个元素的数据成员值*/
cout<<stu[0].Getage( )<<","<<stu[0].Getname( )<<"\n";
cout<<stu[1].Getage( )<<","<<stu[1].Getname( )<<"\n"; 
cout<<stu[2].Getage( )<<","<<stu[2].Getname( )<<"\n"; /*这三句可改用一个循环*/
    return 0;
}

本人学生,初次制作不易,日后会随学习进度尝试写一些答案,谢谢
希望大家支持

  • 26
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值