c++162 类的封装和访问

怎么样管理类管理对象
在这里插入图片描述
类如何定义对象

#include<iostream>
using namespace std;

//求圆的面积
class  MyCirecle
{
public:
	double m_r;//属性  成员变量
	double m_s;
public :
	double getR()
	{
		return m_r;
	}
	void setR(double r)//成员函数
	{
		m_r = r;
	}
	double getS()
	{
		m_s = 3.14 * m_r * m_r;
		return m_s;
	}
protected:
private:
};
//类的封装
void printCircle01(MyCirecle* pC)
{
	cout << "r:" << pC->getR() << endl;
	cout << "s:" << pC->getS() << endl;


	//类封装了成员变量和成员函数 所以可以调用函数
}
void printCircle02(MyCirecle &myc)
{
	cout << myc.getS() << endl;
}
void printCircle03(MyCirecle myc)
{

}
void main()
{
	MyCirecle c1, c2;
	c1.setR(10);
	cout << "c1 s:" << c1.getS() << endl;

	printCircle01(&c1);
	cout << "hello.." << endl;
	return;
}
//面向对象 三大概念 
//封装 继承 多态
//封装:成员的对象和函数 作为一个整体   客观的把事物封装成抽象的类 并且可以把自己的数据和方法只让可信的类或者对象操作 对不可信的进行信息隐藏
//1 属性和方法 封装  2 进行访问控制 
//3 类的内部 类的外部
//4 类的访问控制关键字
//public:修饰的成员变量和函数可以在类的内部和类的外部访问
//private: 修饰的成员变量和函数 只能在内部
///protected 修饰的成员变量和函数 只在内 不在外
class  MyAdvCirecle
{
private:
	double m_r;//属性  成员变量
	double m_s;
public :
	double getR()
	{
		return m_r;
	}
	void setR(double r)//成员函数
	{
		m_r = r;
	}
	double getS()
	{
		m_s = 3.14 * m_r * m_r;
		return m_s;
	}
protected:
private:
};
void main()
{
	MyAdvCirecle c1, c2;
	//c1.m_r = 19;//这一行在类的外部 private 不能访问
	c1.setR(10);
	return;
}
class  MyAdvCirecle
{
private:
	double m_r;//属性  成员变量  内部密码 
	double m_s;
public ://可以被外部喊
	double getR()
	{
		return m_r;
	}
	void setR(double r)//成员函数
	{
		m_r = r;
	}
	double getS()
	{
		m_s = 3.14 * m_r * m_r;
		return m_s;
	}
protected:
private:
};
struct AAA
{
	int a;//  不写默认public 
	
};

在这里插入图片描述
#program one 防止传递两次
类的声明 和实现分开

#include <iostream>
using namespace std;
#include "MyTeacher.h"
void main()
{
	MyTeacher t1;
	t1.setAge(43);
	cout << t1.getAge() << endl;
	return;
}
#include "MyTeacher.h"
//函数声明换成函数实现
void MyTeacher::setAge(int age)
{
	m_age = age;
}

int MyTeacher::getAge()
{
	return m_age;
}

#pragma once //只包含一次

class MyTeacher
{
private:
	int m_age;
	char m_name[32];
public:
	void setAge(int age);
	int  getAge();
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值