-
构造函数在对象实例化时被调用
查看全部 -
构造函数可以给参数赋默认值
查看全部 -
查看全部
-
只读属性:只写get函数,不写set函数
查看全部 -
必须加上头文件#include<string>
查看全部 -
对于同一个类生成的不同对象共享同一份代码区
查看全部 -
析构函数不能重载
查看全部 -
构造函数在声明时参数已经加初始值,定义时就不必再加默认值
查看全部 -
在实例化时,不用传参数的构造函数,就是默认构造函数
查看全部 -
有参构造函数不能让参数同时初始化
查看全部 -
#include <iostream>
#include <string>
using namespace std;
/**
* 定义类:Student
* 数据成员:m_strName
* 无参构造函数:Student()
* 有参构造函数:Student(string _name)
* 拷贝构造函数:Student(const Student& stu)
* 析构函数:~Student()
* 数据成员函数:setName(string _name)、getName()
*/
class Student{
public:
Student();
Student(string _name);
Student(const Student& stu);
~Student();
void setName(string _name);
string getName();
private:
string m_strName;
};
Student::Student(){
cout<<"默认构造方法执行啦"<<endl;
}
Student::Student(string _name){
m_strName = _name;
}
Student::Student(const Student& stu){
m_strName = stu.m_strName;
cout<<"复制构造函数执行啦"<<endl;
}
Student::~Student(){
cout<<"析构函数执行啦"<<endl;
}
void Student::setName(string _name){
m_strName = _name;
}
string Student::getName(){
return m_strName;
}
int main(void)
{
// 通过new方式实例化对象*stu
Student *stu = new Student();
// 更改对象的数据成员为“慕课网”
stu->setName("慕课网");
// 打印对象的数据成员
cout<<stu->getName()<<endl;
Student stu1 = *stu;
cout<<stu1.getName()<<endl;
delete stu;
stu = NULL;
return 0;
}
查看全部 -
这是错误的
string s6 = "hello"+"world";
查看全部 -
不太懂。
查看全部 -
(回放)
查看全部 -
查看全部
举报