- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                Cprimar练习题
                    练习2.1
为什么内置数组类型不支持数组之间的赋值支持这种操作需要什么信息
数组是从C语言中集成过来的,C语言是面向过程的语言,数据和操作是分离的。
所以不支持这种赋值操作。
练习2.2
你认为作为一等公民的数组应该支持什么操作
数组间的赋值,越界检查,字符串数组末尾自动填充结束符‘\0’,自动初始化。
练习2.3
说出下面定义的四个对象之间的区别
(a) int ival = 1024;//声明了一个int型变量,并初始化为1024
(b) int *pi = ival;//声明了一个指向int型变量的指针,并且使用变量ival的地址来初始化
(c) int *pi2 = new int( 1024 );//动态申请了一个int型的空间,并初始化为1024,将地址赋给相同类型的指针变量pi2
(d) int *pi3 = new int[ 1024 ];//动态申请了一个int类型数组,大小1024,并把初始地址赋给指针pi3
练习2.4
下面的代码段是做什么的有什么严重错误注意指针pia 的下标操作符的用法是正
确的在3.9.2 节中我们会解释其理由
int *pi = new int( 10 );
int *pia = new int[ 10 ];
while ( *pi  10 ) {
pia[ *pi ] = *pi;
*pi = *pi + 1;
}
//本题的错误方向是功能方面,没有实现功能,没有语法错误的代码也是无用的代码。所以从功能上修改对了就可以了。
练习2.5
C++类的关键特征是接口与实现的分离
接口是一些用户可以应用到类对象上的操作的集合
它由三部分构成这些操作的名字它们的返回值以及它们的参数表一般地这
些就是该类用户所需要知道的全部内容
私有实现包括为支持公有接口所必需的算法和数据
理想情况下即使类的接口增长了它也不用变得与以前的版本不相兼容另一方面在类的生命周期内其实现可以自由演化
从下面选择一个抽象(指类)并为该类编写一个公共接口
(a) Matrix (c) Person (e) Pointer
(b) Boolean (d) Date (f) Point
Class Date
{
public:
Date(int year, int month, int data):m_iyear(year), m_imonth(month), m_idata(data)
{
}
		void setData(int year, int month, int data);
		Date(const Date date)
		{
			m_iyear = date.year;
			m_imonth = date.month;
			m_idata = date.data;
}
	private:
		int m_iyear;
		int m_imonth;
		int m_idata;
};
void Date::setData(int year, int month, int data)	
{
	m_iyear = year;
	m_imonth = month;
	m_idata = data;
};
练习2.8
一般来说类型/子类型继承关系反映了一种is-a 是一种的关系具有范围检查
功能的ArrayRC 是一种Array 一本书Book 是一种图书外借资源LibraryRentalMaterial
有声书AudioBook 是一种书Book 等等下面哪些反映出这种is-a 关系
(a)成员函数是一种(isA_kindOf)函数
(b)成员函数是一种类
(c)构造函数是一种成员函数
(d)飞机是一种交通工具
(e)摩托车是一种卡车
(f)圆形是一种几何图形//圆形不是一种几何图形?
(g)正方形是一种矩形
(h)汽车是一种飞机
(i)借阅者是一种图书馆
练习2.12
class Employees
{
	public:
		class BaseInf
		{
		public:
			char m_cgender;//员工性别
			int m_iage;//员工年龄
			int m_ilenofservice;//工龄
			string m_sname;//员工姓名
		};	
		
		void setBaseInf(char gender, int age, int lenofservice, string name)
		{
			m_baseInf.m_cgender = gender;
			m_baseInf.m_iage = age;
			m_baseInf.m_ilenofservice = lenofservice;
			m_baseInf.m_sname = name;
                
原创力文档
                        

文档评论(0)