Python类继承到c++; 在做C++类之前,我决定先用Python来做。 < Python类有很好的来源,但我找不到C++的有用的源。
Python代码:Python类继承到c++; 在做C++类之前,我决定先用Python来做。 < Python类有很好的来源,但我找不到C++的有用的源。,python,c++,class,inheritance,protected,Python,C++,Class,Inheritance,Protected,Python代码: class人类: 定义初始(自我、第一、最后、年龄、性别): self.firstname=first self.lastname=last self.age=年龄 self.sex=性 ... 班级学生(人): 定义初始(自我、第一、最后、年龄、性别、学校、学期): super().\uuuuu init\uuuuuuuuu(第一、最后、年龄、性别) 自我学校 self.sement=学期 ... C++代码: 类人类{ 受保护的: 字符串名; 字符串lastname;
class人类:
定义初始(自我、第一、最后、年龄、性别):
self.firstname=first
self.lastname=last
self.age=年龄
self.sex=性
...
班级学生(人):
定义初始(自我、第一、最后、年龄、性别、学校、学期):
super().\uuuuu init\uuuuuuuuu(第一、最后、年龄、性别)
自我学校
self.sement=学期
...
C++代码:
类人类{
受保护的:
字符串名;
字符串lastname;
智力年龄;
弦性;
公众:
人类(字符串名称、字符串姓氏、整数年龄、字符串性别):
姓名、姓氏、年龄、性别{
}
~Human();
};
班级学生:受保护的人{
公众:
弦乐学校;
学期内;
//学生(弦乐学校,国际学期);
~Student();
};
我在C++代码中怎么做同样的事情?
< p>你可以调用超级构造函数并用.< /p>初始化C++中的类变量。 作为一个简化的例子:class Human {
int age;
string name;
public:
Human(string name, int age) : age(age), name(name) {} // initializer list
};
class Student : public Human {
string school;
public:
Student(string name, int age, string school)
: Human(name, age), school(school) {} // initializer list
}
学生构造函数的Human(name,age)
部分调用基本Human
类中的构造函数
你被注释掉的
学生(字符串学校,国际学期)
构造函数将无法正确初始化人类
基类,因为它不包含任何有关人类的信息(姓名、年龄、性别等)。你的问题是什么?请阅读。您显然有一些Python代码和一些C++代码。C++代码在哪些方面不能满足您的需求?请再次阅读。关于C++中的Python代码,以及C++代码如何不满足这些要求,它是什么?这只是直接的继承。为什么需要在C++中保护它?python类将这些成员公开为public(我假设是这样,因为它们没有前导下划线)。