-10 c++ overloading class definition incomplete-type
#include问题
class widget { };
class fubar : public widget { // 1
void value_parameter(widget); // 2
void ref_parameter(widget &); // 3
void ptr_parameter(widget *); // 4
virtual void value_parameter(widget); // 5
virtual void ref_parameter(widget &); // 6
virtual void ptr_parameter(widget *); // 7
widget value_return(); // 8
widget & ref_return(); // 9
widget * ptr_return(); // 10
widget instance_value_member; // 11
widget & instance_ref_member; // 12
widget * instance_ptr_member; // 13
static widget static_value_member; // 14
static widget & static_ref_member; // 15
static widget * static_ptr_member; // 16
};
Run Code Online (Sandbox Code Playgroud)
哪些行需要包含?(#include "widget.hpp"
)
Widget
需要以下项的完整定义:
#1
(class fubar : public widget
),我们需要基类定义。#11
(widget instance_value_member;
),我们需要成员定义。向前声明对于其他声明就足够了。