面向对象的程序设计和面向过程的程序设计是程序设计的两种思路,个人看来面向过程的程序设计与面向对象相对比,在同样的问题面前,面向过程的程序设计思路更加清晰,运用各种函数封装与调用,流水线式累加完成即可。面向对象的程序设计在我看来由仿生的意味,对象包含了成员和函数,二者关系不是单一的关系,因此组成了一个整体,功能的拓展性多样性更好。
以前认为C++和C语言的区别没太有,但是下面的代码体现了C++和C语言二者的进化,在程序设计中C++更胜一筹。
#include<iostream>
#include<string>
using namespace std;
class Record
{
private:
string name;
size_t byte_count;
public:
typedef size_t size;
Record():byte_count(0){}
Record(size s):byte_count(s){}
Record(string s):name(s),byte_count(0){}
size_t get_count() const
{
return byte_count;
}
string get_name() const
{
return name;
}
};
class Screen;
class LinkScreen
{
Screen *window;
LinkScreen *next;
LinkScreen *prev;
};
class Y;
class X
{
private:
Y *ptr;
};
class Y
{
private:
X *ptr;
X obj;
public:
};
struct Preson
{
private:
Preson(const string &nm,const string &addr):name(nm),address(addr) {}
string name;
string address;
public:
string getName() const {return name;}
string getAddress() const {return address;}
};
int main()
{
struct Person Preson("bill","sadism");
Record r;
Record *p=new Record;
cout<<"hello"<<endl;
system("pause");
return 0;
}
#include <iostream>
#include <cmath>
using namespace std;
#define s(a,b,c) ((a+b+c)/2)
int main()
{
double area=0,a,b,c,m;
cout<<"请输入三角行的三边a,b,c:";
cin>>a>>b>>c;
m=s(a,b,c);
area=sqrt(m*(m-a)*(m-b)*(m-c));
cout<<"三角形的面积是:"<<area<<endl;
return 0;
}
```c
#include <iostream.h>
int main()
{ const double pi = 3.14159265;
double r = 2.5, h = 4.0, dResult;
int nID;
cout<<"1--计算圆周长"<<endl;
cout<<"2--计算圆面积"<<endl;
cout<<"3--计算圆球体积"<<endl;
cout<<"4--计算圆柱体积"<<endl;
cout<<"请选择<1..4>:";
cin>>nID;
switch(nID)
{case 1:
dResult = pi*r*2.0;
cout<<"圆周长为:"<<dResult<<endl;
break;
case 2:
dResult = pi*r*r;
cout<<"圆面积为:"<<dResult<<endl;
break;
case 3:
dResult = pi*r*r*r*4.0/3.0;
cout<<"圆球体积为:"<<dResult<<endl;
break;
case 4:
dResult = pi*r*r*h;
cout<<"圆柱体积为:"<<dResult<<endl;
break; }
return 0;}
#include <iostream.h>
#include <string.h>
class CStudentInfo
{
char stu_name[20];
char stu_id[10];
float C_score;
float E_score;
float M_score;
public:
CStudentInfo(char *name, char *id)
{
strcpy(stu_name,name);
strcpy(stu_id,id);
C_score=E_score=M_score=0.00; }
void Init(float score1, float score2,float score3)
{
C_score=score1;
E_score=score2;
M_score=score3;
}
float GetTotal()
{
return (C_score+E_score+M_score);
}
float GetAvg()
{
return (C_score+E_score+M_score)/3;
}
void Display()
{
cout<<"Name:"<<stu_name<<" ID:"<<stu_id<<endl;
cout<<"C Language:"<<C_score<<" English:"<<E_score<<" Mathmetics:" <<M_score<<endl;
cout<<"Total is:"<<this->GetTotal()<<" Average is:"<<this->GetAvg()<<endl;
}
};
void main()
{ CStudentInfo stu("andrew","98041011");
float score1,score2,score3;
cout<<"C Language:";
cin>>score1;
cout<<"English:";
cin>>score2;
cout<<"Mathmetics:";
cin>>score3;
stu.Init(score1,score2,score3);
stu.Display();
}
#include<iostream>
#include<stdio.h>
using namespace std;
void f(int n)
{
if (n>0)
{
printf("%d",n%10);
f(n/10);
}
}
main()
{
int n;
printf("pl");
scanf("%d",&n);
f(n);
system("pause");
return 0;
}
#include <iostream.h>
class CPerson
{ protected:
int ID;
char name[10];
char sex;
public:
CPerson()
{
cout<<"请输入以下资料:"<<endl;
cout<<"编号:" ;
cin>>ID;
cout<<"姓名:" ;
cin>>name;
cout<<"性别:" ;
cin>>sex;
cout<<endl;
}
void output()
{
cout<<"编号:"<<ID<<endl;
cout<<"姓名:"<<name<<endl;
cout<<"性别:"<<sex<<endl;
}
};
class CStudent:public CPerson
{
private:
float score;
public:
CStudent()
{ cout<<"成绩:" ;
cin>>score;
}
void output()
{ CPerson::output();
cout<<"成绩:"<<score<<endl;
}
};
class CTeacher:public CPerson
{
private:
int age;
public:
CTeacher()
{ cout<<"年龄:" ;
cin>>age;
}
void output()
{ CPerson::output();
cout<<"年龄:"<<age<<endl;
}
};
void main()
{ CPerson person1;
person1.output();
CStudent stu;
stu.output();
CTeacher teacher;
teacher.output();
}