我正在尝试学习如何使用数组/指针访问构造函数。
我知道如何访问类成员函数,但是我却停留在如何访问构造函数上。
该程序:
1.索要学费。
2.询问学校名称。
3.显示每个学校的名称。
#include<iostream>
#include<string>
using namespace std;
class School
{
public:
School(string name = "")
{ schoolname = name;}
void Display()
{ cout << "School name is " << schoolname;}
private:
string schoolname;
};
int main()
{
string sname;
int schoolNO;
School *myschool;
myschool[10];
cout << "Enter number of school : ";
cin >> schoolNO;
for (int i = 0; i < schoolNO; i++)
{
cout << "Enter school name : ";
cin >> sname;
myschool[i] = new School(sname);*//The error stated is in this line...*
myschool[i].Display();
}
}
最佳答案
问题是mySchool
是对象而不是指针的数组,因此无法使用new
将指针分配给它的元素。
替换为:
School *myschool;
myschool[10];
为了这:
School* myschool[10];
现在您有了一个指针数组,
new
将起作用。