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;
}

猜你喜欢

转载自blog.csdn.net/qq_36795563/article/details/81429857