首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++中定义一个空类,编译器都会做些什么~该如何解决

2012-02-06 
C++中定义一个空类,编译器都会做些什么~~~~面试是问我的,我说了默认构造函数和默认析构函数,他说除了这两

C++中定义一个空类,编译器都会做些什么~~~~
面试是问我的,我说了默认构造函数和默认析构函数,他说除了这两个之外

大侠们告知下啊,谢谢~~~

[解决办法]
答: 
class Empty

{

public:

Empty(); // 缺省构造函数

Empty( const Empty& ); // 拷贝构造函数

~Empty(); // 析构函数

Empty& operator=( const Empty& ); // 赋值运算符

Empty* operator&(); // 取址运算符

const Empty* operator&() const; // 取址运算符 const

};

默认构造函数 
析构函数 
拷贝构造函数 
赋值运算符(operator=) 
取址运算符(operator&)(一对,一个非const的,一个const的) 

当然,所有这些只有当被需要才会产生。比如你定义了一个类,但从来定义过该类的对象,也没使用过该类型的函数参数,那么

基本啥也不会产生。在比如你从来没有进行过该类型对象之间的赋值,那么operator=不会被产生。

class Empty
{
public:
Empty(); // 缺省构造函数

Empty(const Empty&); // 拷贝构造函数

~Empty(); // 析构函数

Empty& perator=(const Empty&); // 赋值运算符

Empty* operator&(); // 取值运算符
const Empty* operator&() const; // 取值运算符

};



[解决办法]

探讨
答:
class Empty

{

public:

Empty(); // 缺省构造函数

Empty( const Empty& ); // 拷贝构造函数

~Empty(); // 析构函数

Empty& operator=( const Empty& ); // 赋值运算符

Empty* operator……

[解决办法]
探讨

答:
class Empty

{

public:

Empty(); // 缺省构造函数

Empty( const Empty& ); // 拷贝构造函数

~Empty(); // 析构函数

Empty& operator=( const Empty& ); // 赋值运算符

……

热点排行