-
封装的好处:
查看全部 -
封装的好处:
查看全部 -
数据封装,应该将自身的数据设置与获取都由函数实现:
查看全部 -
string的连接操作:
查看全部 -
1.从栈中实例化对象:
系统会自动释放掉内存
2.从堆中实例化对象:
需要手动释放内存
3.如何访问对象
查看全部 -
#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){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;
return 0;
}
查看全部 -
分文件写查看全部
-
申请内存--初始化列表---构造函数--参与运算--析构函数--释放内存
查看全部 -
析构函数定义:~类名();析构函数不许加任何参数,析构函数的作用是释放资源;
若没有自定义,系统会自动产生;
析构函数没有返回值,没有参数也就不能重载
查看全部 -
1)拷贝构造函数:类名(const 类名 &变量名)
2)构造函数分为无参构造函数和有参构造函数
3)所有的无参构造函数都是默认构造函数;
4)有参构造函数包括参数带默认值的和参数无默认值的,所有参数都带有默认值则是默认构造函数
5)系统会自动生成构造函数,生成的包括普通构造函数和拷贝构造函数
6)初始化列表在普通构造函数和拷贝构造函数后
查看全部 -
Teacher.h类中声明:
class Teacher{
public:
Teacher(string name = "jim", int age = 1,imt m=100);
void setName(string name);
string getName();
void setAge(int age);
int getAge();
private:
string m_strName;
int m_iAge;
const in m_iMax; //有const数据成员时,只能用初始化列表赋值。
};
Teacher类中的构造函数定义:
//普通初始化
Teacher::Teacher(string name , int age,int m )
{
m_strName = name;
m_iAge = age;
m_iMax = m; //这样处理就错了,因为m_iMax是一个const变量,是不能被改变的,
}
初始化列表给赋值
Teacher::Teacher(string name , int age, int m ):m_strName(name),m_iAge(age),m_iMax(m)
{
}
若数据成员为const类型,则在初始化时,只能需要使用构造函数的初始化列表方式进行初始化。
查看全部 -
构造函数用于类中成员变量的初始化
查看全部 -
内存划分:栈区、堆区、全局区、常量区、代码区。
栈区:int x =0; int *p=null;
堆区:int *p =new int[20];
全局区:存储全局变量以及静态变量
常量区:string str ="hello";
代码区:存储逻辑代码的二进制
查看全部 -
内联函数:inline,一般使用于函数逻辑简单
类内定义:是指将成员函数的定义放在class类内部的定义
两者的联系:类内定义会将简单的成员函数当做类联函数来用,但是不会出现inline关键字
类外定义:分为同文件类外定义和分文件类外定义。
查看全部 -
数据的封装:只希望外界读取,不希望外界改变;
以对象为中心,以谁做什么表达程序的逻辑,体现在代码层面就是将所有的数据操作转化为成员函数的调用,即对象在程序中的所有行为都通过调用自己的函数来完,如何用函数来封装数据成员呢,
查看全部
举报