这个VC++仍然无法和运行,编译无错,运行却无法运行

来源:百度知道 编辑:UC知道 时间:2024/06/25 08:18:21
#include <iostream>
#include <string>
using namespace std;
class Student
{public:
Student(int n,string nam,char s)
{num=n;
name=nam;
sex=s;}
~Student(){}
protected:
int num;
string name;
char sex;
};
class Student1:public Student
{public:
Student1(int n,string nam,char s,int a,string ad):Student(n,name,s)
{age=a;
addr=ad;
}
void show()
{cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"age:"<<age<<endl;
cout<<"address:"<<addr<<endl<<endl;
}
~Student1(){}
private:
int age;
string addr;
};
int main()
{Student1 stud1(10010,"wang-li",'f',19,"115 Beijing Road,Shanghai");
Student1 stud2(10010,"Zhang-fun",'m',21,"213 Shanghai Road

这个程序我单步跟踪调试了下。问题出在:
Student1(int n,string nam,char s,int a,string ad):Student(n,name,s)
{age=a;
addr=ad;
}
即Student1的构造函数内。

我发现一个问题,就是你这个String类型的ad,怎么可以直接赋值给String类型的addr?
字符串之间赋值不能直接用等号,要用到拷贝函数。

ctrl+f5,不要直接F5