名字name是字符串,应该使用strcpy进行拷贝高中数学ddk7种构造函数方法。如下:
Student( int a, char *b, char c)
{
num=a;
strcpy(name, b);
sex=c;
}
或者将name 改为std::string类型的,就可以直接这样写了:
Student( int a, char *b, char c):num(a),name(b),sex(c){}
字符串和字符的数字的差别:字符串总以 为终止。
如何正确使用构造函数法?
首先编译器会帮你添加很多函数
如果写了class Empty{};
就相当于写下了
class Empty
{
public:
Empty(){...}
Empty(const Empty& rhs){...}
~Empty(){...}
Empty& operator=(const Empty& rhs){...}
};
编译器可以暗自为class创建 默认构造函数,复制构造函数,复制赋值操作符(=),析构函数,所有编译器产生的函数都是public
关于不同构造函数的用法,大多数书上都讲了,每个都要花很多篇幅才能讲明白,建议参考《c++ primer》《effective c++》等经典书籍