Welcome

首页 / 软件开发 / C++ / C++编程杂谈之二:面向对象

C++编程杂谈之二:面向对象2010-07-22xulion软件开发是一个极其复杂的过程,一段小的代码我们可以快速、准确的完成,但是当你面对的是一个庞大的软件系统的时候,你是否有不知所措的感觉呢?

在我们使用C的年代里面,编程思想是结构化的,你的C语言老师可能会不断的教导你怎样使用结构化的方法来完成一段程序,同时,你可能也知道在软件开发中的一个重要定律(Wirth定律):

程序 = 算法 + 数据结构

在结构化设计中人们通常是这样来看待这个定律的:

程序 =(算法) + (数据结构)

例如:(我仍然使用C++标准库来写下面的代码,方便和以后的代码对比)

#include <iostream>
using namespace std ;
typedef struct Student
{
char strname[50]; //姓名
int math; //数学分数
int chinese; //语文
int total; //总分
}STUDENT;
void InitData(STUDENT* some)
{
//////////////////////////////////////
//初始化数据
some->strname[0] = "";
some->math = 0;
some->chinese = 0;
some->total = 0;
}
void InputData(STUDENT* some)
{
///////////////////////////////////////
//获取输入
cout<<"enter name"<<endl;
cin>>some->strname;
cout<<"enter math"<<endl;
cin>>some->math;
cout<<"enter chinese"<<endl;
cin>>some->chinese;
//////////////////////////////////////
//计算总分
some->total = some->math + some->chinese;
}
void PrintData(STUDENT some)
{
cout<<some.strname<<"""""s total mark is:"<<some.total<<endl;
}
//上面的部分可以单独放在一个头和CPP中
main()
{
STUDENT someone;
InitData(&someone);
InputData(&someone);
PrintData(someone);
}