-
拷贝构造函数的参数是确定的,不能重载查看全部
-
内联函数与普通函数区别查看全部
-
拷贝构造函数Student(const Student &xx){...} 通过同类型的对象实例化另外的对象时,自动调用拷贝构造函数查看全部
-
没有参数,或者所有参数都有默认值时,称为默认构造函数。 一个类可以有多个构造函数,可以没有默认构造函数。 对象的初始化定义有且仅有一次。查看全部
-
构造函数名与类名一样,在定义..时能传入参数,会直接通过构造函数初始化值。 如果有const定义的变量,需要在初始化列表中初始化,而不能在构造函数函数中初始化。查看全部
-
类private内无法直接初始化定义变量,变量无法直接用在main函数中。需要在类public内初始化,用其中的函数返回值。查看全部
-
内存分区查看全部
-
cin不能接受空值,需要用getline(cin, name);查看全部
-
string定义的字符串可以+连接,但普通字符串不能两两直接连接查看全部
-
Student *str=new Student;查看全部
-
一个类可以没有默认构造函数,有别的构造函数也可以实例化对象。查看全部
-
类定义class xxx{}; 栈类型是TV tv; , 堆类型是TV *p=new TV[]; 栈访问是tv.x , 堆访问是p[]->x 结构体定义typedef struct{ int x; } XX; 定义XX st; st.x =查看全部
-
数据的封装查看全部
-
拷贝构造函数在参数传递的时候也会被自动调用查看全部
-
#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() { cout << "Student()" << endl; } Student(string _name) { m_strName = _name; cout << m_strName << endl; } Student(const Student& stu) { cout << "Student(const Student& stu)" << endl; } ~Student() { cout << "~Student()" << endl; } void setName(string _name) { m_strName = _name; } string getName() { return m_strName; } private: string m_strName; }; int main(void) { // 通过new方式实例化对象*stu Student *stu = new Student(); // 更改对象的数据成员为“慕课网” stu->setName("慕课网"); // 打印对象的数据成员 cout << stu->getName() << endl; delete stu; stu = NULL; return 0; }查看全部
举报
0/150
提交
取消