假设我有这个虚拟类定义:
class Node
{
public:
Node ();
Node (const int = 0);
int getVal();
private:
int val;
};
Run Code Online (Sandbox Code Playgroud)
虚拟构造函数实现仅用于教育目的:
Node::Node () : val(-1)
{
cout << "Node:: DEFAULT CONSTRUCTOR" << endl;
}
Node::Node(const int v) : val(v)
{
cout << "Node:: CONV CONSTRUCTOR val=" << v << endl;
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我编译(使用选项-Wall -Weffc++ -std=c++11:),下面的代码:
#include <iostream>
#include "node.h"
using namespace std;
int main()
{
Node n;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误,根本不编译:
node_client.CPP: In function ‘int main()’:
node_client.CPP:10:16: error: call of …Run Code Online (Sandbox Code Playgroud)