如何解决C++中构造函数的成员初始化
#include<iostream>
#include<string>
using namespace std;
class Temp{
public:
void Tempshow(){
cout << "Mother Class" << endl;
}
};
class Person{
private:
string name;
public:
Person(string name): name(name){} //member initialization
string getName(){
return name;
}
void showName(){
cout << "Name : " << getName() << endl;
}
};
class Student : Person,public Temp {
private:
int studentID;
public:
Student(int studentID,string name) : Person(name){
this->studentID = studentID;
}
// Student(int studentID,string name){
// Person(name);
// this->studentID = studentID;
// }
// Student(int studentID,string name){
// this->studentID = studentID;
// }
void show(){
cout << "Student Number : " << studentID << endl;
cout << "Student Name : " << getName() << endl;
}
void showName(){
cout << "Inherent Success : " << getName() << endl;
}
};
int main(){
Student student = Student(1,"James");
student.showName();
student.Tempshow();
return 0;
}
另外我想问...
Student(int studentID,string name) : Person(name){
this->studentID = studentID;
}
在这句话中'Student'构造函数的参数里面,'studentID'和'name'只是参数,只是在'Student'构造函数的范围内起作用吗? 或者'studentID'和'name'是'Student'类和'Person'类的成员变量?
我不知道这句话如何为“Person”构造函数提供参数
Student student = Student(1,"James");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。