C ++类继承设置“classA”数据成员等于“ClassB”

时间:2015-10-22 16:12:43

标签: c++ class inheritance member-functions

我正在尝试将classA set valuea的成员函数设置为classB的valueb。我真的没有完全掌握继承,所以如果这是一个简单或愚蠢的错误,请原谅我。也可以更容易使转换函数成为两个类的朋友吗?

sharedData

1 个答案:

答案 0 :(得分:0)

如果你说过你试图通过这种设计解决的问题,那么你的问题会更容易回答,但我会花几美分。

  

我试图将A类的成员函数设置为值   B类的价值是。

当A继承自B时,这并没有多大意义.A B.如果A有B作为一部分,那就更有意义了,即

class A{
    B partOfA;

您的名称转换表明您可能希望将类型B的对象转换为A类型的对象,这也很奇怪,但您可以通过构造函数来实现

A(const B& b):B(b){}

所以不要做"转换"你创建一个新对象

B b;
A a(b);

如果您的唯一目标是从B访问x.valueb,则需要B中的公共访问者成员。例如,请参阅Accessing protected members in a derived class