Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python类继承到c++; 在做C++类之前,我决定先用Python来做。 < Python类有很好的来源,但我找不到C++的有用的源。_Python_C++_Class_Inheritance_Protected - Fatal编程技术网

Python类继承到c++; 在做C++类之前,我决定先用Python来做。 < Python类有很好的来源,但我找不到C++的有用的源。

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;

Python代码:

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(我假设是这样,因为它们没有前导下划线)。