C++ Primer Plus学习笔记之静态成员
关键字static可以用来说明一个类的成员(包括数据成员和成员函数),这样的成员被称为静态成员;
1,静态数据成员
在一个类中,若将一个数据说明前加上static,则该数据成为静态数据,静态数据成员被该类的所有对象共享。无论建立多少个该类的对象,都只有一个静态数据存储空间;
具体语法如下:
类型名 类名::静态数据成员[=常量表达式]...
分类:
编程语言 时间:
2014-05-01 18:21:21
阅读次数:
273
本来可以轻松搞定的,可惜遇到一个暂时解决不了的问题,没有任何提示的崩;
#ifndef_MYSTING_h_#define_MYSTING_h_/*String类;*/usingnamespacestd;/**********************************************....
分类:
其他好文 时间:
2014-05-01 09:36:25
阅读次数:
254
C++ Primer Plus学习笔记之拷贝构造函数
1,什么是拷贝构造函数
拷贝构造函数有两个含义:
首先,它是一个构造函数,当创建一个新对象时,系统自动调用它;
其次,它将一个已经定义过的对象的数据成员逐一对应的复制给新对象;
如果一个类没有显式定义拷贝构造函数,C++编译器可以为该类产生一个缺省的拷贝构造函数。这个缺省的拷贝构造函数采用C的方式,将拷贝对象的内存一个字节一个字节的拷...
分类:
编程语言 时间:
2014-04-30 22:24:39
阅读次数:
537
C++ 中构造函数可否是虚函数?
绝不要!!
而且,在构造函数中调用虚函数也是不提倡的行为,因为会引发预想不到的结果。
因为,在 derived class 对象构造的过程中,首先调用的是基类的构造函数,等基类构造结束,才开始构造派生类的部分。
这个过程中,编译器将该对象视为 基类,而非派生类(因为,派生类对象的专属部分还未初始化!!!)
所以,如果在构造函数中调...
分类:
编程语言 时间:
2014-04-29 13:47:22
阅读次数:
258
类--类的定义和声明【下】三、关于类定义的更多内容【接上】//P374 习题12.8
class Sales_item
{
public:
double avg_price() const;
bool same_isbn(const Sales_item &rhs) const
{
return rhs.isbn == isbn;
}
Sa...
分类:
编程语言 时间:
2014-04-29 13:28:21
阅读次数:
324
类--类的定义和声明【上】引言: 在C++中,用类来定义自己的抽象数据类型。通过定义类型来对应所要解决的问题中的各种概念,可以使我们更容易编写、调试和修改程序。可以使得自己定义的数据类型用起来与内置类型一样容易和直观。 一个前面曾经定义过的类:class Sales_item
{
private:
std::string isbn;
unsigned units_sold;
...
分类:
编程语言 时间:
2014-04-29 13:21:21
阅读次数:
347
类--隐含的this指针引言: 在前面提到过,成员函数具有一个附加的隐含形参,即指向该类对象的一个指针。这个隐含形参命名为this,与调用成员函数的对象绑定在一起。成员函数不能定义this形参,而是有编译器隐含地定义。成员函数可以显式的使用this指针,但不是必须这么做。1、何时使用this指针 有一种情况下,我们必须显式使用this指针:当需要将一个对象作为整体引用而不是引用对象的一...
分类:
编程语言 时间:
2014-04-29 13:21:21
阅读次数:
371
C++Primer 中的Sales_item.h头文件...
分类:
编程语言 时间:
2014-04-28 10:47:42
阅读次数:
319
STL实践与分析--容器特有的算法 与其他顺序容器所支持的操作相比,标准库为list容器定义了更精细的操作集合,使它不必只依赖于泛型操作。其中很大的一个原因就是list容器不是按照内存中的顺序进行布局的,不支持随即访问,这样,在list容器上就不能使用随即访问迭代器的算法,如sort等;还有其他的一些算法如:merge、remove、reverse和unique,虽然可以用在list上,但却...
分类:
编程语言 时间:
2014-04-27 21:45:04
阅读次数:
474
STL实践与分析--泛型算法的结构引言: 正如所有的容器都建立在一致的设计模式上一样,算法也具有共同的设计基础。 算法最基本的性质是需要使用的迭代器种类。所有算法都指定了它的每个迭代器形参可使用的迭代器类型。比如,如果形参必须为随机访问迭代器则可提供vector或 deque类型的迭代器,或者提供指向数组的指针。而其他容器的迭代器不能用在这类算法上。 C++还提供了另外两种算法模式...
分类:
编程语言 时间:
2014-04-27 21:36:05
阅读次数:
392