这个主函数怎么不能匹配调用啊
#include<iostream>
#include<string>
using namespace std;
class Person
{
private:
string *name;
int id;
public:
Person(string *name1,int id1);
void Display();
~Person();
};
Person::Person(string *name1,int id1)
{
name=name1;
id=id1;
}
void Person::Display()
{
cout<<"Name:"<<name<<endl;
cout<<"ID:"<<id<<endl;
}
Person::~Person()
{
delete [] name;
}
class CollegeStu : public Person
{
private:
string *major;
double score;
public:
CollegeStu(string *name,int id,string *major1,double score1);
void Display();
};
CollegeStu::CollegeStu(string *name,int id,string *major1,double score1) : Person(name,id)
{
major=major1;
score=score1;
}
void CollegeStu::Display()
{
Person::Display();
cout<<"Major:"<<major<<endl;
cout<<"C++ Score:"<<score;
}
int main()
{
string name,major;
string id;
double score;
cin>>name>>id>>major>>score;
CollegeStu cs(name,id,major,score);
cs.Display();
return 0;
}
#include <iostream>
#include <string>
using namespace std;
class Person
{
private:
string _name;
int _id;
public:
Person(const string &name, int id);
~Person();
void Display() const;
};
Person::Person(const string &name, int id) : _name(name), _id(id)
{
}
Person::~Person()
{
}
void Person::Display() const
{
cout << "Name:" << _name << endl;
cout << "ID:" << _id << endl;
}
class CollegeStu : public Person
{
private:
string _major;
double _score;
public:
CollegeStu(const string &name, int id, const string &major, double score);
void Display() const;
};
CollegeStu::CollegeStu(const string &name, int id, const string &major, double score)
: Person(name, id), _major(major), _score(score)
{
}
void CollegeStu::Display() const
{
Person::Display();
cout << "Major:" << _major << endl;
cout << "C++ Score:" << _score << endl;
}
int main()
{
string name, major;
int id;
double score;
cin >> name >> id >> major >> score;
CollegeStu cs(name, id, major, score);
cs.Display();
return 0;
}
str.c_str()
不匹配,找不到对应的构造函数,看一下实参形参类型对应不对应。
希望对题主有所帮助,可以的话,帮忙点个采纳!
参数为什么要用指针啊,用引用就行了
参数为指针的话,函数调用如下:
CollegeStu cs(&name,id,&major,score);
好吧,是我指针学的有问题了,我再去看看,谢谢各位大哥了