当用到C语言的输入输出时:
头文件:#include <cstdio>
应该注意string类型并不是基本类型因此当对string类进行输入输出时应该用
printf("%s",name.c_str());
进行输入输出;
另外还需要加入string头文件#include <string>
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
class Person
{
private:
string name;
int age;
public:
Person(string name, int age)
{
this->name = name;
this->age = age;
printf("A person %s whose age is %d is created.\n", name.c_str(), age);
}
~Person()
{
printf("A person %s whose age is %d is erased.\n", name.c_str(), age);
}
void show()
{
printf("Name is %s and age is %d.\n", name.c_str(), age);
}
};
class Student : public Person
{
private:
int grade;
public :
Student(string name, int age, int grade) :Person(name,age)
{
this->grade = grade;
printf("A student whose grade is %d is created.\n", grade);
}
~Student()
{
printf("A student whose grade is %d is erased.\n", grade);
}
void show()
{
printf("Grade is %d.\n", grade);
}
};
int main()
{
string n;
int a, g;
cin >> n >> a >> g;
Student student(n, a, g);
student.Person::show();
student.show();
return 0;
}