VS2017学习C++基础十五(类和对象)

面向对象

//1.所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造极值,来认识、理解、
// 刻画客观世界和设计、构造相应的软件系统(模拟现实)
//2.对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系
//3.面向对象不是某一种语言的特性,而是一种编程思想
//4.采用过程性编程方法时,首先考虑遵循的步骤,然后考虑如何表示这些数据
//5.OOP程序员-首先会考虑数据,不仅要考虑如何表示这些数据,还要考虑如何使用数据

抽象和类

//抽象:从具体事物抽取共同的本质特征
//C++中的类:
//1.类是一种将抽象转换为用户定义类型的工具
//2.将数据表示和操纵数据的方法组合成一个整体
//3.类的实例称为对象
//4.类中的变量和函数称为成员

//类的声明  :使用class/struct关键字声明类型  class 类名{
     };  struct 类名{
     };
//1.class方式声明的类型与struct声明的类型仅仅是形式上不同
//2.其唯一的区别在于使用class声明的类型默认成员是私有的(private),
// 而struct声明的类型默认成员是公有的(public)

头文件

#ifndef LANDOWNERV1_H
#define LANDOWNERV1_H
#pragma once

#include 
#include
using namespace std;

class LandOwnerv1
{
     
	public: 
		string name;;  //地主的名称
		long score;    //地主的积分
		int cards[20]; //地主的手牌数目
	public:
		LandOwnerv1() {
     }  //实现了默认构造函数
		~LandOwnerv1() {
     } //实现了解析函数
		inline void TouchCard(int);  //声明摸牌方法
		inline void showScore();   //声明显示积分方法		
};
//函数定义  ::  作用域解析运算符
void LandOwnerv1::TouchCard(int cardCount)  //声明摸牌方法
{
     
	//暂时省略函数的实现
	cout << name << "摸了" << cardCount << "张牌" << endl;
}
void LandOwnerv1::showScore()   //声明显示积分方法
{
     
	cout << name << "当前的积分为:" << score << endl;
}
#endif //LANDOWNERV1_H

源文件

#include "LandOwnerv1.h"
#include 
#include 
using namespace std;

int main()
{
     
	//数据类型  变量名
	int num;
	num = 0;
	LandOwnerv1 landOwner1; //声明了一个LandOwnerv1类型的变量:landOwner1
	landOwner1.name = "张三";
	landOwner1.score = 100;
	//调用对象的成员方法
	//landOwner1.cards[0] = 9;
	landOwner1.TouchCard(20);
	landOwner1.showScore();
}

运行结果为:

张三摸了20张牌
张三当前的积分为:100

你可能感兴趣的:(VS2017-C++,c++,VS2017)