using namespace std;
class Student
{
public:
Student(){}
Student(string _name):m_strName(_name){}
Student(const Student& stu){}
~Student(){}
void setName(string _name){m_strName = _name;}
string getName(){cout << m_strName << endl; }
private:
string m_strName;
};
class Student
{
public:
Student(){}
Student(string _name):m_strName(_name){}
Student(const Student& stu){}
~Student(){}
void setName(string _name){m_strName = _name;}
string getName(){cout << m_strName << endl; }
private:
string m_strName;
};
最新回答 / tangl666
#include<iostream>#include<string.h>using namespace std;class Gun{ public: string type; int ATK; int GunCapacity; int NowCapacity; int Surplus; // or residue};int main(void){ Gun *p = new Gun(); ...
2019-09-27
老师没说如何拷贝对象,只说拷贝构造函数在哪些情况下会被调用。
Teacher t3(t1),将t1拷贝给t3,有如下两种方法:
1.在拷贝构造函数定义时在函数内部进行赋值:
Teacher (const Teacher & tea)
{
m_strName =tea.m_strName;
}
2.运用拷贝构造函数的初始化列表:
Teacher(const Teacher &tea) : m_strName(tea.m_strName), m_age(tea.m_age) {}
可以看到,拷贝构造函数只是构造函数的一种特殊类型而已,他满足构造函数的性质:可在内部赋值也可进行初始化列表操作。
Teacher t3(t1),将t1拷贝给t3,有如下两种方法:
1.在拷贝构造函数定义时在函数内部进行赋值:
Teacher (const Teacher & tea)
{
m_strName =tea.m_strName;
}
2.运用拷贝构造函数的初始化列表:
Teacher(const Teacher &tea) : m_strName(tea.m_strName), m_age(tea.m_age) {}
可以看到,拷贝构造函数只是构造函数的一种特殊类型而已,他满足构造函数的性质:可在内部赋值也可进行初始化列表操作。
2019-09-16
最新回答 / weixin_慕丝3553261
这两个函数,只是在创建对象时 自动调用的,里面的内容,你可以自己定义,但是,无论里面有没有内容,它都会在对象被创建时自动调用。有内容,他就在对象被创建时去执行。
2019-09-15
最赞回答 / int程序小白
析构函数里delete释放的对象需要是类的数据成员,而且需要在构造函数或者在其他调用过的函数里面为他开辟了空间,才能在析构函数内使用delete释放
2019-08-12