关于C++类的继承 的几个疑问

来源:互联网 发布:程序员必备书籍 颈椎病 编辑:程序博客网 时间:2024/06/05 07:12

1.关于拷贝函数

void f(const Manager& m)
{
  Employee e(m);
  e = m;
}
不懂这是个什么意思。为什么定义过e(m)后还要e=m?这段程序想说明的是什么?

2.关于虚拟函数

一旦一个成员函数在某个类中被定义成虚拟函数,那么在这个类中必须定义这个虚拟函数的实现代码

这句话是说必须在class{}的大括号里给出虚拟函数的定义吗?那为什么还可以这样写?:

class Employee {
  string first_name, family_name;
  char middle_initial;
  short department;
  // ...
public:
  virtualvoid print() const;
  string full_name() const;
  Employee(const string& n, int d);
  // ...
};
void Employee::print() const
{
  // 适合Employee对象的代码
}

原创粉丝点击