C++类的应用和构造函数的调用

矩形的周长面积

  1. 定义一个矩形类Rec,包含私有属性length、width,包含公有成员方法:
    1. void set_length(int l); //设置长度
    2. void set_width(int w); //设置宽度
    3. int get_length(); //获取长度,将长度的值返回给调用处
    4. int get_width(); //获取宽度,将宽度的值返回给调用处
    5. void show(); //输出周长和面积

代码

cpp 复制代码
#include <iostream>

using namespace std;

class Rec
{
    const int length;
    int width;
public:
    void set_length(int l);
    void set_width(int w);
    int get_length();
    int get_width();
    void show();
    Rec():length(3),width(4)
    {
        cout<<"无参:"<<endl;
        cout <<"C:"<<2*(length+width)<<endl;
        cout <<"S:"<<length*width<<endl;
    }
    Rec(int width):length(5)
    {
        cout <<"有参"<<endl;
        cout <<"C:"<<2*(length+width)<<endl;
        cout <<"S:"<<length*width<<endl;
    }
};

void Rec::set_width(int width)
{
    this->width=width;
}
int Rec::get_length()
{
    return length;
}

int Rec::get_width()
{

    return width;
}

void Rec::show()
{
    cout <<"C:"<<2*(length+width)<<endl;
    cout <<"S:"<<length*width<<endl;

}
int main()
{
    Rec r1;
    Rec r2(4);
    r2.set_width(6);
    r2.show();
    return 0;
}

实现效果

圆的参数

  1. 定义一个圆类,包含私有属性半径r,公有成员方法:
    1. void set_r(int r); //获取半径
    2. void show //输出周长和面积,show函数中需要一个提供圆周率的参数PI,该参数有默认值3.14

代码

cpp 复制代码
#include <iostream>

using namespace std;

class yuan
{
    int &r;
public:
    void set_r(int r);
    void show();
    yuan(int &r):r(r){
        cout <<"C="<<2*3.14*(float)r<<endl;
        cout <<"S="<<3.14*(float)r*(float)r<<endl;
    }
};

void yuan::set_r(int r)
{
    this->r=r;
}

void yuan::show()
{
    cout <<"C="<<2*3.14*(float)r<<endl;
    cout <<"S="<<3.14*(float)r*(float)r<<endl;
}

int main()
{
    int R=7;
    yuan r1(R);
    return 0;
}

实现效果

汽车的品类

  1. 定义一个Car类,包含私有属性,颜色color,品牌brand,速度speed,包含公有成员方法:
    1. void display(); //显示汽车的品牌,颜色和速度
    2. void acc(int a); //加速汽车
    3. set函数,设置类中的私有属性

代码

cpp 复制代码
#include <iostream>
#include <iomanip>

using namespace std;

class Car
{
    string cloor;
    string ip;
    int speed;
public:
    void display();
    void acc(int a);
    void set_look(string c,string i,int s);
    Car():cloor("black"),ip("别克"),speed(350)
    {
        cout <<"无参的构造函数:"<<endl;
        cout <<"颜色:"<<setw(8)<<left<<cloor<<"品牌:"<<setw(8)<<left<<ip<<"速度:"<<setw(8)<<left<<speed<<endl;
    }
    Car(string cloor,string ip,int speed)
    {
        this->cloor=cloor;
        this->ip=ip;
        this->speed=speed;
        cout <<"有参的构造函数"<<endl;
        cout <<"颜色:"<<setw(8)<<left<<cloor<<"品牌:"<<setw(8)<<left<<ip<<"速度:"<<setw(8)<<left<<speed<<endl;
    }
};

void Car::display()
{
        cout <<"颜色:"<<setw(8)<<left<<cloor<<"品牌:"<<setw(8)<<left<<ip<<"速度:"<<setw(8)<<left<<speed<<endl;
}
void Car::acc(int a)
{
    speed+=a;
}
void Car::set_look(string cloor,string ip,int speed)
{
    this->cloor = cloor;
    this->ip = ip;
    this->speed=speed;
}

int main()
{
    Car bieke;
    Car penz("white","BWM",400);
    penz.set_look("red","benz",360);
    penz.acc(100);
    penz.display();
    return 0;
}

实现效果

知识点思维导图

相关推荐
AA陈超3 分钟前
虚幻引擎5 GAS开发俯视角RPG游戏 P05-11 消息小部件
c++·游戏·ue5·游戏引擎·虚幻
yaoxin5211235 分钟前
212. Java 函数式编程风格 - Java 编程风格转换:命令式 vs 函数式(以循环为例)
java·开发语言
wangqiaowq5 分钟前
ImmutableList.of() 是 Google Guava 库 提供的一个静态工厂方法,用于创建一个不可变的(immutable)列表。
开发语言·windows·python
再卷也是菜15 分钟前
C++篇(14)二叉树进阶算法题
c++·算法
十五年专注C++开发20 分钟前
QDarkStyleSheet: 一个Qt应用的暗色主题解决方案
开发语言·c++·qt·qss
2401_8414956422 分钟前
【数据结构】最长的最短路径的求解
java·数据结构·c++·python·算法·最短路径·图搜索
麦麦鸡腿堡24 分钟前
Java的代码块介绍与快速入门
java·开发语言
小龙报25 分钟前
《算法每日一题(1)--- 连续因子》
c语言·开发语言·c++·windows·git·算法·visual studio
流浪大叔31 分钟前
Python下载实战技巧的技术文章大纲
开发语言·python
祁同伟.31 分钟前
【C++】异常
开发语言·c++