C++一个类的继承的问题

2025-01-07 08:57:39
推荐回答(5个)
回答1:

生成代码时考虑的,如果一个类的数据x逻辑允许被访问,当你在代码里用一个类的对象访问x时,编译器就可以把这段代码生成出来,实际上也就是一个访存的指令,而如果这个数据x逻辑上不允许被其他类访问,那么编译器就无法生成访存指令,因为这段指令生成的前提条件不满足,即x具有被其他类访问的属性。这就是public,private,protected的实际作用,它们是控制编译器做访问权限检查以便生成机器指令的。

回过头来再说你问的问题,给你举个现实的例子来解释你所说的现象,考虑皇帝和钦差大臣,可以说钦差大臣是皇帝的一个子类,因为在地方上他可以先斩后奏,相当于皇帝的权力,但是他不可能获得皇帝的妃子,因为这是皇帝的private数据,所以继承的实质是一些公共的数据或是权力(函数)的共享,而私有数据而权力(函数)还是各自归各自的。

回答2:

你没实现类的析构函数~Wang();
Wang::~Wang()
{}
把这个加上就OK了

回答3:

声明了~Wang();但是没有定义它.
要么删除,要么定义函数体.

回答4:

~Wang(); 没有实现啊
~Wang(){}声明里面加{}就可以

回答5:

Wang的析构函数没有实现