C++之类和对象

给大家讲解下我学习C++的经验;
那就是不要看太多理论之后再去实践,有人觉得不懂不就应该先看会才行吗,不不不,编程是门实践课,曾经我的导师跟我说这的知识你在书本上是看不会的,当你动手操作才能学会,我实际学起来才发现导师说的非常对。
出错了,按照错误去学习,该怎么写比直接看定义好太多太多(当然不是不让你看,是你只需要看一个框架,具体的细节你要在错误中获取)

就说类,网上书上知识点很多,那我就直接跟大家说你该怎么写,该注意什么。(之后的学习过程我还会补充)

  1. 通用结构
    从下面的结构上你要看出几个点,第一个点就是class,class是一个关键字表示你是要写一个类,classname是你要定义的类的名字,另一个点非常重要就是最后的分号’ ;’ 千万不要忘记写,很容易忘。
class classname{

};
  1. 类中的访问修饰符public (公有成员) ,private (私有成员) protected(保护成员)
class Base {
   public:
  // 公有成员
   protected:
  // 受保护成员
   private:
  // 私有成员 
};

几个要注意的点
这三个修饰符在一个class中你可以写多个

class Base {
   public:
  // 公有成员
   protected:
  // 受保护成员
   private:
  // 私有成员 
   public:
  // 公有成员
   public:
  // 公有成员
};

完全可以这么写;
然后知道结构了之后你就要了解三个修饰符都是干嘛用的
public的成员可以随意访问,private的成员是除了类内函数和友元函数之外不可访问,而protected成员可private一样但是可以让派生类访问。

private的写法;

#include <iostream>
 
using namespace std;
 
class Box
{
   public:
      double length;
      void setWidth( double wid );
      double getWidth( void );
 
   private:
      double width;
};
 
// 成员函数定义
double Box::getWidth(void)
{
    return width ;
}
 
void Box::setWidth( double wid )
{
    width = wid;
}
 
// 程序的主函数
int main( )
{
   Box box;
 
   // 不使用成员函数设置长度
   box.length = 10.0; // OK: 因为 length 是公有的
   cout << "Length of box : " << box.length <<endl;
 
   // 不使用成员函数设置宽度
   // box.width = 10.0; // Error: 因为 width 是私有的
   box.setWidth(10.0);  // 使用成员函数设置宽度
   cout << "Width of box : " << box.getWidth() <<endl;
 
   return 0;
}

输出为
Length of box : 10
Width of box : 10

protected的写法:

#include <iostream>
using namespace std;
 
class Box
{
   protected:
      double width;
};
 
class SmallBox:Box // SmallBox 是派生类
{
   public:
      void setSmallWidth( double wid );
      double getSmallWidth( void );
};
 
// 子类的成员函数
double SmallBox::getSmallWidth(void)
{
    return width ;
}
 
void SmallBox::setSmallWidth( double wid )
{
    width = wid;
}
 
// 程序的主函数
int main( )
{
   SmallBox box;
 
   // 使用成员函数设置宽度
   box.setSmallWidth(5.0);
   cout << "Width of box : "<< box.getSmallWidth() << endl;
 
   return 0;
}

输出为:Width of box : 5

有了这两个基础,你就可以写一个简单的类。更深的写法比如继承和派生,比如this指针等等我会在后续更新

关注我,会定期更新数据结构与算法,C++的学习过程,开发中的感悟,共同学习。加油!!!

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读