1508-张晨曦总结《2016年-11月-7日》【连续17天总结】

标题:一边擦着大鼻涕一边学习C++

关键词:类的公有,私有与保护

内容

A. 一句话概括今日目标完成情况

a)9.4的学习 80%

b)搞懂闹钟函数 100&

B.具体内容

 学习了private,publie,protected仨的区别。private是完全封闭的,而public是完全开放的,protected是介于两者之间的。

公有成员是外界可以直接访问,修改数据的。私有成员不可以,只有通过类中公有函数对数据进行修改,从而达到了数据的安全性。

保护成员换句话说是某些数据或函数成员在类外备有限制的访问。

c9lss time
{
	private:
		int hour,minute;
	protected:
	    int second;
	...		
}


class date:public time
{
	private:
		int year,month,day;
	public:
	    void show_date_time()
		{
			cout<<year<<"-"<<month<<"-"<<day<<"\t";
			cout<<hour<<":"<<minute<<":"<<second<<endl;
		}
...			
}
由于上面的hour和minute是在private里面定义的所以显然是不能被修改的。而second则由于是在protected下被定义的,所以可以修改访问的。

在9.4后半部分的分数函数时,非常仔细的听讲但还是疑惑满满

#include<iostream>
#include<cmath>
using namespace std;
class Fraction
{
	protected:
		int a;
	private:
	    int b;
		int divisor(int p,int q);
	public:
	    void set(int aa,int bb);
		void show();
		Fraction add(Fraction u);		
};
void Fraction::set(int aa,int bb)
{
	a=aa;
	if(bb!=0)
	b=bb;
	else{
		a=0;
		b=1;
	}	
}
void Fraction::show()
{
	cout<<a<<"/"<<b;
}
Fraction Fraction::add(Fraction u)
{
	int tmp;
	Fraction v;
	v.a=a*u.b+b*u.a;
	v.b=b*u.b;
	tmp=divisor(v.a,v.b);
	v.a=v.a/tmp;
	v.b=v.b/tmp;
	return v;
}class Real:public Fraction
{
	public:
		void show_real()
		{
			cout<<a<<"/"<<b<<"="<<a/(double)b<<endl;
		}
};
int main()
{
	Real f1,f2,f3;
	int a,b,c,d;
	cout<<"\n请分别输入两个分数的分子和分母为0时退出\n"; 
	cin>>a>>b;
	cin>>c>>d;
	f1.set(a,b);
	f2.set(c.d);
	f1.show_real();
	f2.sjow_real();
	cout<<endl;	
}
这是我的初稿,但是是有问题的。编译时会遇到我的b是private的所以不允许我来定义。还是需要火候啊

C.明日计划

 把9.4搞清楚就行。

 

我的博客:http://blog.csdn.net/andr3zzzz

我的邮箱:smartisandre@yeah.net

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值