1.理解——“将抽象从实现分开”。
抽象类:
在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。
抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色.
概念理解:
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
详情请见:http://baike.baidu.com/link?url=r7HKUX1xSUbN2l2rBFM4L_6_i20Zvry1K7Z13FKBjtw6ILb_ko6ohdsfJoKgnLul
2.拷贝构造函数
class Rational
{
public:
Rational (const Rational & r)
//……
};
上面的操作会构造一个Rational对象,它的值等同于对象r的值(所说的值是抽象值)。
认为,每一个类的拷贝构造函数都会,构造一个和它参数等值的对象。
3.c++中的正规函数有:
①拷贝构造函数
②析构函数
③基本的赋值运算符(指类T的赋值运算符,它的唯一参数的类型是const T&或T)
④相等运算符和不等运算符。
正规函数的语义如下:
T::T(const T& t); //创建一个T对象,它的(抽象)值和t对象的(抽象)值相等。
T::~T(); //销毁T对象。
const T& T::operator=(const T& t); //用参数t的值