-
堆:需要自己分配内存空间;从堆中申请的元素,使用完后需要手动释放 栈:编译器自动分配释放空间;从栈中申请的元素,只是临时的,使用之后就释放了 从堆中申请内存有可能失败 如果失败所指向的指针被赋为NULL 所以检验有没成功申请到内存可以用一下代码来检验 if (p = = NULL) { cout << "申请失败"<< endl查看全部
-
初始化列表特性查看全部
-
内容总结查看全部
-
访问限定符查看全部
-
类的定义查看全部
-
// ConsoleApplication3.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #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() :m_strName(" ") {}//无参并不是啥都不给; Student(string _name):m_strName(_name) {} Student(const Student& stu){}//拷贝构造函数没有初始化列表 ~Student() {};//构造函数和析构函数没有返回值类型,得有{}不然只声明没定义 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;//注意释放,堆的对象,new不需要头文件 system("pause"); return 0; }查看全部
-
对象实例化查看全部
-
成员函数查看全部
-
属性封装函数指 set get查看全部
-
数据成员查看全部
-
string const 初始化列表查看全部
-
如果类有重名 可以定义不同的命名空间查看全部
-
对象生命历程查看全部
-
析构函数查看全部
-
构造函数 拷贝构造函数查看全部
举报
0/150
提交
取消