《C++程序设计与实验、辅导与习题解答(第二版 清华大学出版)》(一)第二部分 第一章 C++程序设计入门

1.1 本章要点

在面向对象的程序设计中,首先要把对象的概念放在第一位。对象具有属性以及方法。 例如我们要去描述一个人的状态,那么这个人就是一种类(class)的对象,而涉及到这个人的身高、年龄、体重等则是这个人的属性。在C++的代码中,属性用数据表示,方法用函数表示。

类用关键字class定义,类中的数据可以用关键字public、private和protected修饰。
通常成员函数为公有的,但成员数据却是私有的,外部通过公有的成员函数来访问私有的类中的数据,或者说,外部并不能直接地访问私有成员,但是可以借助公有成员去访问私有成员。

当成员函数过长的时候,也可以在类外定义成员函数本体,格式为:
返回类型 类名::成员函数名(形参表)
{
函数体;
}

书上提及的思考题:
1.如有定义double y=3/2;当用语句cout<<y<<endl;输出的y为多少?

答:输出的结果为1,但是如果更改为double y=3.0/2.0,则输出的结果变为了1.5。很有意思的一点,当我输入7/3时,它输出2,但是转换为7.0/2.0时,则变为了2.3333,我认为应该是如果只是输入3和2,则仍然默认y为int值,计算出来的结果为int值,再转换为double,也还是2,但是只要其中有一方为double,则y也就可以得出小数。

2.如有定义char ch=‘B’;当用语句cout<<ch+3<<endl;输出是,求输出结果。

答:输出69.

3.‘a’与"a"之间的区别是什么?

答:'a’表示的是字符常量,但是"a"表示的是一个字符串。这也解释了为什么上一题中输出的为数字,若改成在第二题中定义为"B",则运行出错。

附上两个小知识点:
1.iostream.h与iostream之间的区别不大,前者主要为C语言服务,后者主要为C++服务,在C++中使用两者均可。在C++中使用输入/输出流对象cin、cout时应该包含此头文件。
2.string.h中的常用函数如下:strlen求字符串长度strcmp比较2个字符串是否一样strcat字符串连接操作strcpy字符串拷贝操作strncat字符串连接操作(前n个字符)strncpy字符串拷贝操作(前n个字符)strchr查询字串strstr 查询子串

1.2典型实例分析

例2-1-1 编写一个程序,首先定义一个类area用于描述长方形的面积。类中有两个私有数据x、y;有三个公有的成员函数area、print、areas,分别用于初始化、输出与计算面积。

程序:
在这里插入图片描述
在定义公有函数部分时,又重新定义了一个areas函数,不要误以为写错了

例2-1-2 编写程序,程序功能是描述某个人的姓名name、年龄age、住址addr的类person。类对象调用成员函数show输出此人的姓名、年龄和住址。

程序:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020120722522036.png在这里插入图片描述
在这里插入图片描述
这道题我再想一想

1.3习题参考解答
构造函数和析构函数的功能是什么?
构造函数是指对象建立时,系统自动调用构造函数,对类对象赋初值;当结束程序时,系统自动调用析构函数释放对象。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值