我个人理解的C++面向对象的类

C++中类是一个非常重要的概念,也是经常使用的一个东西,平时我们建立对类成员的属性(public、protected、private)并不注意,经常将所有成员都设为public属性的,按照面向对象的标准化思想,在C++建立类时,需要注意:

(1)封装:将功能封装成一个个独立的单元,减小耦合,避免牵一发而动全身,降低维护成本。

(2)类的成员变量都定义成private类型的,类的成员函数无特殊情况均定义成public属性的。

如果类外需要读取使用类的成员变量,则通过写一个public属性的获取成员变量的函数来实现访问,如果类外需要对类的成员变量进行赋值,则通过写一个public属性的赋值成员变量的函数来实现访问,而尽量不要直接将类成员声明成public类型的。

具体示例如下:

#include "stdafx.h"
#include "iostream"
using namespace std;

//定义用于读取下面类成员的结构体
struct  MyClassMember 
{
	int myint;
	double mydouble;
};
//定义类
class MyClass
{
private:
	//private属性的类成员
	int myint;
	double mydouble;
public:
	//public属性的过去类成员函数设设置给类成员赋值函数
	void getMyClassMemberValue(MyClassMember* member);
	void setMyClassMemberValue(MyClassMember* member);
	void display();
	//构造函数
	MyClass();


};
//构造函数具体内容
MyClass::MyClass()
{
	myint = 5;
	mydouble = 5.6;

}
//成员函数内容,注意该函数的成员必须为指针,只有这样才能把东西传出去,必须是指针
void MyClass::getMyClassMemberValue(MyClassMember* member)
{
	(*member).myint = myint;
	(*member).mydouble = mydouble;
}
//成员函数内容,注意该函数的成员必须为指针,只有这样才能把东西传出去,必须是指针
void MyClass::setMyClassMemberValue(MyClassMember* member)
{
	 myint = (*member).myint;
	 mydouble = (*member).mydouble;
}
//成员函数内容,显示
void MyClass::display()
{
	cout<<myint<<endl;
	cout<<mydouble<<endl<<endl;
}


int _tmain(int argc, _TCHAR* argv[])
{
	//新建类及结构体
	MyClass testmyclass;
	MyClassMember testmember;
	//结构体赋值
	testmember.myint = 2;
	testmember.mydouble = 3.14;
	//调用类的public函数对类的private成员进行赋值,注意取址符
	testmyclass.setMyClassMemberValue(&testmember);
	//显示出来看一看
	testmyclass.display();

	//新建类,此时类private成员变量的值由构造函数确定
	MyClass test;
	//调用类的public函数获取类的private成员的值,注意取址符
	test.getMyClassMemberValue(&testmember);
	//显示出来看一看
	cout<<testmember.myint<<endl;
	cout<<testmember.mydouble<<endl<<endl;
	
	system("pause");
	return 0;
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值