C++《面向对象程序设计》第三章课后习题

题目一:

【3.25】建立类 cylinder,类 cylinder 的构造函数被传递了两个 double 值,分别表示圆柱体的半径和高度。用类 cylinder 计算圆柱体的体积,并存储在一个 double 变量中。在类 cylinder 中包含一个成员函数 vol0,用来显示每个 cylinder 对象的体积。

题目一完整实现:

#include <iostream>
#define PI 3.14159
using namespace std;
class cylinder{
	public:
		cylinder(double,double);
		void volo();
	private:
		double r,h,v;
};
cylinder::cylinder(double r1,double h1)
{
	r=r1;
	h=h1;
}
void cylinder::volo()
{
	v=PI*r*r*h;
	cout<<v<<endl;
}
int main()
{
	cylinder cy1(2,3);
	cy1.volo();
	return 0;
}

题目一运行结果:

37.6991

--------------------------------
Process exited after 0.4074 seconds with return value 0
请按任意键继续. . .

易错误总结:

  1. 拼写错误,namspace
  2. 语法错误,#define PI=3.1415926,“=”错!!在类外定义构造函数多加了void,如:void cylinder::cylinder(double r1,double r2),构造函数没有返回值,说构造函数是void类型也不行。可以把函数写在类里面以减少出错
  3. 没按题目要求来定义一个double的体积变量,直接对结果进行输出

题目二:

【3.26】构建一个类 Stock,含字符串 stockcode 及整型数据成员 quantity、双精度型数据成员price。构造函数含 3 个参数,当定义 Stock 的类对象时,将对象的第 1个字符串参数赋给数据成员stockcode,第2和第3 个参数分别赋给 quantity 和 price。未设置第2和第3 个参数时,quantity的值为1000、price 的值为 8.98。成员函数 print0没有形参,需使用 this 指针,显示对象数据成员的内容。假设类 Stock 第 1个对象的 3 个参数分别为"600001"、3 000和5.67;第2个对象的第1个数据成员的值是"600001",第 2 和第 3个数据成员的值取默认值。编写程序分别显示这两个对象数据成员的值。

题目二完整实现:

#include <iostream>
#include <stdlib.h>
using namespace std;
class Stock{
	public:
		Stock(string stockcode1,int quantity1=1000,double price1=8.98)
		{
			stockcode=stockcode1;
			quantity=quantity1;
			price=price1;
		}
		void print()
		{
			cout<<this->stockcode<<" "<<this->quantity<<" "<<this->price<<endl;
		}
	private:
		string stockcode;
		int quantity;
		double price;
};
int main()
{
	Stock stock1("600001",3000,5.67);
	Stock stock2("600001");
	stock1.print();
	stock2.print();
}

题目二运行结果:

600001 3000 5.67
600001 1000 8.98

--------------------------------
Process exited after 0.3581 seconds with return value 0
请按任意键继续. . .

易错点:

  1. 知道这个题有字符串类型,想到了就应该先把#include<string>打上去,代码写着写着就忘了~
  2. 这次的错误还是拼写,少打了字母,Stock类首字母大写,创建对象时写了小写。

知识点总结:

  1. this指针,简单讲一句,this指针是成员函数的默认形参,对象都有this指针,调用成员函数时,将this指针作为实参进行传递。实际上每个对象只有自己的数据成员,而成员函数都是公用的代码段。对象有了this指针后,从而在调用函数时也就知道了是谁在调用。
  2. 带默认参数的构造函数。

最后:

因为是要考试的,所以细节很重要。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值