16.C++ 面向对象的程序设计方法

/*
 面向对象的程序设计方法(oop):
 object oriented programming (oop)
 特征:
 1.抽象:将对象数值化
 2.封装:将所有涉及该对象的数据、行为组合在一个软件单元(类)中
 3.继承:通过某个软件单元的某些特征的再利用产生新对象
 4.多态:同样的消息在不同对象中的响应不同。
 面向对象的程序设计的类都有以下两个属性:
 1.状态:数据成员
 2.行为:函数成员能改变数据成员的操作
 
 类的一般定义:
 class 类名
 {
 private:
    私有数据成员和成员函数
 public:
    公有数据成员和成员函数
 protected:
    保护数据成员和成员函数
 };
 各个成员函数的实现
 成员函数在类外部的定义与普通函数的定义在行驶基本相同,但必须是在成员函数的前面加上类名和作用域运算符::,
 一般定义格式:
 函数类型 类名::函数成员名(形参列表)
 {
     函数体
 }
 
 */
#include <iostream>

class student  //定义类
{
private:   //声明私有数据成员
    char name[4];
    int age;
    char sex;
public:
    void input(char newName[4],int newage,int newsex );
    void output();
};

//student 类中成员函数的实现(可以使用默认值)
void student::input(char newName[4], int newage, int newsex)
{
    for (int i=0; i<4; i++) {
        name[i]=newName[i];
    }
    age=newage;
    sex=newsex;
}
void student::output()
{
    std::cout<<"姓名:"<<name<<",年龄:"<<age<<",性别:"<<sex<<std::endl;
}
int main(int argc, const char * argv[])
{
    student*pStu=new student;
    pStu->input("abc",25,'n');
    pStu->output();
    (*pStu).output();//也可这样输出
    
    //或
    student stu;
    stu.input("hao", 20, 'n');
    stu.output();
//    stu.name="as"//错误,不能直接给 private 赋值 或直接输出
    
    return 0;
}

你可能感兴趣的:(16.C++ 面向对象的程序设计方法)