03 2016 档案

摘要:题目:请实现一个函数,将一个字符串中的空格替换成“ % 20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are % 20Happy。 运行输出结果: 并通关: 注意,如果传入char *str = "Hello World and Bill Gates";这样定义 阅读全文
posted @ 2016-03-31 19:07 _No.47 阅读(321) 评论(0) 推荐(0)
摘要:题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 当我们运行时,需要测试边界条件: 如果没考虑到这里,就会向下越界。该算法可以运行,但是这个算法超时: 改进后算法如下: 运行通 阅读全文
posted @ 2016-03-31 17:26 _No.47 阅读(285) 评论(0) 推荐(0)
摘要:所谓泛型编程就是以独立于任何特定类型的方式编写代码。使用泛型程序时,我们需要提供具体程序实例所操作的类型或值。标准库的容器、迭代器和算法都是泛型编程的例子。每种容器(如 vector)都有单一的定义,但可以定义许多不同种类的 vector,它们的区别在于所包含的元素类型。 阅读全文
posted @ 2016-03-31 16:59 _No.47 阅读(133) 评论(0) 推荐(0)
摘要:纯虚函数 在前面所提到过的 Disc_item 类提出了一个有趣的问题:该类从 Item_base 继承了 net_price 函数但没有重定义该函数。因为对 Disc_item 类而言没有可以给予该函数的意义,所以没有重定义该函数。在我们的应用程序中,Disc_item 不对应任何折扣策略,这个类 阅读全文
posted @ 2016-03-13 22:26 _No.47 阅读(238) 评论(0) 推荐(0)
摘要:在继承情况下,派生类的作用域嵌套在基类作用域中。如果不能在派生类作用域中确定名字,就在外围基类作用域中查找该名字的定义。正是这种类作用域的层次嵌套使我们能够直接访问基类的成员,就好象这些成员是派生类成员一样。如果编写如下代码: 名字 book 的使用将这样确定:bulk 是 Bulk_item 类对 阅读全文
posted @ 2016-03-11 22:49 _No.47 阅读(457) 评论(0) 推荐(0)
摘要:构造函数和复制控制 每个派生类对象由派生类中定义的(非 static)成员加上一个或多个基类子对象构成,当我们构造、复制、赋值和撤销一个派生类对象时,也会构造、复制、赋值和撤销这些基类子对象。 构造函数和复制控制成员不能继承,每个类定义自己的构造函数和复制控制成员。像任何类一样,如果类不定义自己的默 阅读全文
posted @ 2016-03-10 19:42 _No.47 阅读(321) 评论(0) 推荐(0)
摘要:面向对象编程基于三个基本概念:数据抽象、继承和动态绑定。//动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数。 面向对象编程的关键思想是多态性(polymorphism)。在 C++ 中,多态性仅用于通过继承而相关联的类型的引用或指针。 继承 我们经常称因继承而相关联的类 阅读全文
posted @ 2016-03-08 19:14 _No.47 阅读(324) 评论(0) 推荐(0)
摘要:函数指针是指指向函数而非指向对象的指针。像其他指针一样,函数指针也指向某个特定的类型。函数类型由其返回类型以及形参表确定,而与函数名无关: // pf points to function returning bool that takes two const string references b 阅读全文
posted @ 2016-03-02 18:26 _No.47 阅读(1734) 评论(0) 推荐(0)
摘要:隐式类类型转换 C++语言定义了内置类型之间的几个自动转换。也可以定义如何将其他类型的对象隐式转换为我们的类类型,或将我们的类类型的对象隐式转换为其他类型。为了定义到类类型的隐式转换,需要定义合适的构造函数。可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。 class Sal 阅读全文
posted @ 2016-03-01 14:31 _No.47 阅读(2168) 评论(0) 推荐(1)