题:析构函数可以为virtual型,构造函数则不能。那么为什么构造函数不能为虚呢?【美国某著名移动通信企业2004年面试题】
答案:虚函数采用一种虚调用的办法。虚调用是一种可以在只有部分信息的情况下工作的机制,特别允许我们调用一个只知道接口而不知道其准确对象类型的函数。但是如果要创建一个对象,你势必要知道对象的准确类型,因此构造函数不能为虚。
题:析构函数可以为virtual型,构造函数则不能。那么为什么构造函数不能为虚呢?【美国某著名移动通信企业2004年面试题】
答案:虚函数采用一种虚调用的办法。虚调用是一种可以在只有部分信息的情况下工作的机制,特别允许我们调用一个只知道接口而不知道其准确对象类型的函数。但是如果要创建一个对象,你势必要知道对象的准确类型,因此构造函数不能为虚。