C语言是面向过程的语言。它的思想就是将一个程序分成若干个过程,然后写出每个过程的算法。但是重用性比较差。
C++面向对象的语言:将自然界的事物看成不同的实体,也就是对象。每个对象都有自己的行为和状态。
面向对象程序语言的主要特征:
1.抽象 将某些对象根据他们相同的特征进一步组成一个类。
2.封装 将每个数据封装在各自的类中,又设置了各种访问权限,别的类可以在被允许的情况下访问该类中的数据,如果不被允许,则无法访问该数据,从而避免了非法操作和出错的可能。
3.继承 继承父类的所有属性
4.多态 不同的对象调用相同的函数名称,却可以导致不同的行为或者结果的现象称为多态。
类、对象、成员
类由若干个变量和相关的函数组成
对象拥有这些变量和函数
成员:数据成员和成员函数
类中的成员默认是私有的,私有成员不能被对象直接访问,只能通过在类中设置的接口函数来访问。
一般情况下我们将类的数据成员设置成私有,而使用类的公有的函数来访问它们。
函数的申明和实现在一起的情况:
// Created by amesty on 16/5/11.
// Copyright © 2016年 travelrely. All rights reserved.
//
#include <stdio.h>
#include <iostream>
using std::cout;
class Human
{
// public :
//类中的成员默认是私有的,私有成员不能被对象直接访问,只能通过在类中设置的接口函数来访问。
private:
int weight;
public:
//void set(int w){weight=w;}
void set(int w)
{
if(w>0&&w<100)
weight = w;
else
{
cout<<"请将set函数的参数设置为一个大于0而小于100的数字,否则默认设置为0\n";
weight=0;
}
}
int get(){returnweight;}
};
int main()
{
Human Tom;
// Tom.weight=5;
Tom.set(5);
cout<<"汤姆的体重为:"<<Tom.get()<<"\n";
Human Mike;
Mike.set(6);
cout<<"迈克的体重为:"<<Mike.get()<<"\n";
return 0;
}
函数的声明和实现分开的情况
#include <stdio.h>
#include <iostream>
using std::cout;
class Human
{
// public :
//类中的成员默认是私有的,私有成员不能被对象直接访问,只能通过在类中设置的接口函数来访问。
private:
int weight;
public:
//void set(int w){weight=w;}
void set(int w);
//函数的声明部分仅仅是说明该函数的参数类型及返回值类型
int get(){returnweight;}
};
int main()
{
Human Tom;
// Tom.weight=5;
Tom.set(5);
cout<<"汤姆的体重为:"<<Tom.get()<<"\n";
Human Mike;
Mike.set(6);
cout<<"迈克的体重为:"<<Mike.get()<<"\n";
return 0;
}
void Human::set(int w)
{
if(w>0&&w<100)
weight = w;
else
{
cout<<"请将set函数的参数设置为一个大于0而小于100的数字,否则默认设置为0\n";
weight=0;
}
}