复制控制--析构函数引言: 在构造函数中分配了资源之后,需要一个对应操作自动回收或释放资源。析构函数就是这样的一个特殊函数,它可以完成所需的资源回收,作为类构造函数的补充。1、何时调用析构函数 撤销类对象时会自动调用析构函数: Sales_item *p = new Sales_item;
{
Sales_item item(*p); //调用复制构造...
分类:
编程语言 时间:
2014-05-03 21:09:42
阅读次数:
281
类--友元、static成员一、友元 友元机制允许一个类将对其非公有成员的访问权授予指定的函数或类(对未被授权的函数或类,则阻止其访问);友元的声明以关键字friend开始,但是它只能出现在类定义的内部。友元声明可以出现在类中的任何地方:友元不是授予友元关系的那个类的成员,所以它们不受其声明出现部分的访问控制影响。【最佳实践】 通常,将友元声明成组的放在类定义的开始或结尾是个好主意!1...
分类:
编程语言 时间:
2014-05-03 00:33:38
阅读次数:
372
复制控制--复制构造函数、赋值操作符引言: 当定义一个新类型时,需要显式或隐式地指定复制、赋值和撤销该类型的对象时会发生什么– 复制构造函数、赋值操作符和析构函数的作用! 复制构造函数:具有单个形参,该形参(常用const修饰)是对该类类型的引用。当定义一个新对象并用一个同类型的对象对它进行初始化时,将显式的使用复制构造函数;当将该类型的对象传递给函数或者从函数返回该类型的对象时,将隐...
分类:
编程语言 时间:
2014-05-02 07:48:27
阅读次数:
385
类--构造函数【下】二、默认实参与构造函数一个重载构造函数: Sales_item():units_sold(0),revenue(0){}
Sales_item(const std::string &book):
isbn(book),units_sold(0),revenue(0) {}
可以通过给string初始化式提供一个默认实参将这些构造函数组合起来: ...
分类:
编程语言 时间:
2014-05-01 08:17:52
阅读次数:
386
类--构造函数【上】引言: 构造函数确保每个对象在创建时自动调用,以确保每个对象的数据成员都有合适的初始值。class Sales_item
{
public:
//其中isbn由string的默认构造函数提供初始化
Sales_item():units_sold(0),revenue(0){}
private:
std::string isbn;
unsi...
分类:
编程语言 时间:
2014-04-30 22:48:40
阅读次数:
347
类--类作用域引言: 每个类都定义了自己的新作用域与唯一的类型。即使两个类具有完全相同的成员列表,它们也是不同的类型。每个类的成员不同与任何其他类(或任何其他作用域)的成员。class First
{
public:
int memi;
double memd;
};
class Second
{
public:
int memi;
double memd;...
分类:
编程语言 时间:
2014-04-30 22:26:39
阅读次数:
403
类--类的定义和声明【下】三、关于类定义的更多内容【接上】//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