如何才能在基类中规定其子类必须有某种形式的构造函数?
比如B想继承A,那么如何在A中规定B一定要含有一个B(string &str)的构造函数?
C++继承类的问题
答案:3 悬赏:40 手机版
解决时间 2021-12-27 21:11
- 提问者网友:雪舞兮
- 2021-12-27 17:02
最佳答案
- 五星知识达人网友:西岸风
- 2022-01-22 05:12
只需要将类A的构造函数写成类似的就可以。它的子类就必须调用。下面这个例子中你可以试着把B的构造函数去掉试试。
class A
{
public:
A(int str){};
};
class B : public A
{
public:
B(int i):A(i){};
};
void main()
{
int str;
B b(str);
return;
}
class A
{
public:
A(int str){};
};
class B : public A
{
public:
B(int i):A(i){};
};
void main()
{
int str;
B b(str);
return;
}
全部回答
- 1楼网友:怀裏藏嬌
- 2022-01-22 07:34
如果a的数据成员是私有成员,你是没办法在b中或者b的对象访问的,如果是公有成员,b则会继承该成员;
你可以通过定义b的某个成员函数作为a的友元友元来访问a中的私有成员
- 2楼网友:我住北渡口
- 2022-01-22 06:14
只有A中写一个构造函数不要编译器只动默认的调用的就在其派生类中要定义一个构造函数使其(派生类)对象能初始化.不这样程序就可能有错误.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯