C语言到C++ 类的基础学习

类的分装

#include <iostream>

using namespace std;

//封装,把属性和方法进行封装,对属性和方法进行访问控制
//类的内部和类的外部

//class 关键字是结构体struct关键字的加强
class MyCircle
{
//public修饰的成员变量和函数,可以在类的内部和类的外部访问
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 修饰的成员和变量只能在类的内部访问
protected:
private:

};
//类封装的威力 相当于结构体包含了成员函数
void printCircleA(MyCircle *cp)	//指针
{
	cout << "指针方式:" << endl;
	cout << "半径:" << cp->getR();
	cout << "  面积:" << cp->getS() << endl;
}

void printCircleB(MyCircle &cp)	//引用
{
	cout << "引用方式:" << endl;
	cout << "半径:" << cp.getR();
	cout << "  面积:" << cp.getS() << endl;
}


int main01()
{
	MyCircle c1;
	c1.setR(10);
	printCircleA(&c1);
	printCircleB(c1);


	system("pause");
	return 0;
}


类的访问控制

#include <iostream>

using namespace std;



class MyCircleB
{
//没有权限修饰的成员变量\函数 默认私有属性	
private:		//私有属性
	double m_r;	//属性 成员变量
	double m_s;

//public修饰的成员变量和函数,可以在类的内部和类的外部访问
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 修饰的成员和变量只能在类的内部访问
protected:
private:

};


int main02()
{
	MyCircleB c1;
	
	c1.setR(10);
	//c1.m_r = 10;	//访问失败

	cout << "R:" << c1.getR() << endl;
	cout << "S:" << c1.getS() << endl;
	system("pause");
	return 0;
}


类的声明和类的实现分开

#include <iostream>
#include "MyTeacher03.h"

using namespace std;

int main03()
{
	MyTeacher03 c1;
	c1.setAge(20);

	cout << "age:" << c1.getAge() << endl;

	system("pause");
	return 0;
}



//##########################################################################
//"MyTeacher03.h"文件

#pragma once		//条件编译符 只包含一次

//#ifndef __MYTEACHER_H_
//#define __MYTEACHER_H_

class MyTeacher03
{
private:
	int m_age;
	char name[32];

public:
	void setAge(int age);
	int  getAge();


};
//
//#endif 

//################################################################################
//MyTeacher03.c文件

include "MyTeacher03.h"

void MyTeacher03::setAge(int age)
{
	m_age = age;
}


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

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值