我正在尝试理解继承,我需要一些帮助来构建两个类。第一个称为 A,第二个称为 B。A 有一个私有整数值“m_a”。它有两个构造函数,默认的一个将 m_a 设置为 5。另一个将一个称为 m 的整数作为参数并将 m_a 的值设置为 m。至于成员函数,它将有两个。第一个将返回 m_a。第二个将打印“Hello from A!”。让我们继续讨论 B。B 将有一个私有字符串 m_s。将 m_s 设置为“asd”或空字符串以外的任何内容的默认构造函数,以及将字符串作为参数并将 m_s 设置为它的值的构造函数。就函数而言,首先 B 将有一个返回 m_s 的函数。它将具有一个与 print "同名的函数
这些是需要的课程。我有以下问题(我将在下面发布我创建的内容)首先,有什么方法可以从基类获取私有数据文件。例如,假设我想获取 m_s 变量,将其添加到另一个变量中并打印出它们的总和。那可能吗 ?(如何)
此外,当我尝试使用与默认构造函数不同的构造函数创建一个类时,我会遇到错误。我显然做错了什么。问题是什么。
我想这些都是我现在的所有问题,所以现在是我发布源代码的时候了。
#include <iostream>
#include <string>
using namespace std;
class A
{
private:
int m_a;
public:
A(){m_a = 5;}
A(int m)
{
m_a = m;
}
void pm()
{
cout << "Hello from A!" << endl;
}
int get_a()
{
return m_a;
}
};
class B : A
{
private :
string m_s;
public:
B(){m_s = "asd";}
B(string s)
{
m_s = s;
}
void pm()
{
cout << "Hello from B!" << endl;
}
string get_s()
{
return m_s;
}
};
int main()
{
A a(10);
a.pm();
cout << a.get_a() << endl;
B b("asd");
b.pm();
cout << b.get_s() << endl;
cout << b.get_a() << endl;
return 0;
}