C++封装,构造、析构

  1. C++语言的封装

    1. 将属性和行为作为一个整体,来表示生活中具体的事物
    2. 有访问权限
    3. class 和struct唯一区别 默认权限不同
      1. class默认是private
      2. struct 默认是public
    4. public 是类内类外都可以访问到
    5. protected 类内可以,类外不可以(子类可以)
    6. private 类内可以,类外不可以

一个类默认创建:默认构造、析构、拷贝构造、operator=赋值运算符 进行简单的值传递

建议将成员属性设置为私有:

class Person
{

public:

	//设置年龄
	void setAge(int age)
	{
		if (age < 0 || age > 100)
		{
			cout << "你这个老妖精" << endl;
			return;
		}
		m_Age = age;
	}
	//获取年龄 读权限
	int getAge()
	{
		return m_Age;
	}

	//读姓名
	string getName()
	{
		return m_Name;
	}
	//写姓名
	void setName(string name)
	{
		m_Name = name;
	}

	//只写的情人
	void setLover(string lover)
	{
		m_lover = lover;
	}

private: //类外不可访问,类内可以访问

	int m_Age  = 0; //年龄 读写
	string m_Name; //公有权限  读写
	string m_lover; //情人  只写

};

类的构造函数、析构函数

class Person
{
public:
	//构造函数写法
	//与类名相同,没有返回值 ,不写void,可以发生重载 (可以有参数)
	//构造函数由编译器自动调用,而不是手动,而且只会调用一次
	Person()
	{
		cout << "构造函数调用" << endl;
	}

	Person(int a)
	{
		cout << "构造函数调用(int a)" << endl;
	}


	//析构函数写法
	// 与类名相同 类名前面加一个符号 “~” ,也没有返回值 ,不写void, 不可以有参数(不能发生重载)
	//自动调用,只会调用一次
	~Person()
	{
		cout << "析构函数调用" << endl;
	}


};

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值