您的位置:首页 > 编程语言 > C语言/C++

C++学习笔记(六)-- 类和对象 构造函数和析构函数 const成员函数 this指针 对象数组 堆栈管理变量

2016-09-06 13:48 696 查看
 

周末懈怠了几天,今天赶紧把重头戏对象和类看了下,对应小章节以及示例程序写了几个简单的demo用以学习以及测试。

 

C++学习笔记之六,本文为C++ Primer Plus
第十章对象和类的学习笔记,大抵分为以下几个小部分:

 

类Class的用法:如何声明以及定义,private表示声明的部分只能在类里使用,public部分外部可以访问以及修改。
 
类的构造函数和析构函数:构造函数的作用是使得类可以更方便地初始化,可以同时定义多重初始化的方法(不同变量的函数);析构函数的主要作用是在程序结束时释放类所占用的空间,如果类里没有用到new基本可以忽视,如果用到了new则需要写一个析构函数来Delete掉new的空间!
 
const成员函数:函数之后加上const保证函数不会修改成员变量,如果一个类用const修饰了,那么只能用const成员函数来保证const血统的尊贵(其他的不让用)
 
this指针:构造类里的一个函数当返回值需要是这个类自身时用this,具体可以看下例子比较直观。
 
对象数组:直接当作数组使用,唯一的不同大概就是需要有默认构造函数!!
 
堆栈管理变量:新建对象时像堆栈一样一个个塞进去,所以最后把这些清理掉的时候也是后定义的先剔掉。

测试代码下载地址:http://download.csdn.net/detail/zmdsjtu/9623005

 

具体代码如下:

 

#include<iostream>

#include<string>

using namespace std;

 

class 帅比 {

private://外部是不能访问这些的,仅供内部使用

double 身高=0, 体重=0, 颜值=0;

double BMI();

double bmi;

public:

string 名字;

void 输入个人信息();

void 输出()const;//const成员函数,确保函数不会修改调用对象

帅比(string name,
double height,
double weight);//构造函数

帅比();//构造函数

帅比 比帅(帅比 x)const;//this的用法

~帅比();

};

 

帅比 帅比::比帅(帅比 x)const {

if (x.bmi > bmi)return x;

else return *this;  //this的用法

}

 

帅比::~帅比() {//析构函数,最后结束的时候会调用,加了system("pause")方便观察效果

cout << "Bye, " << 名字
<< endl; system("pause"); }

 

帅比::帅比(string name,
double height,
double weight) {

名字 = name;

身高 =
height;

体重 =
weight;

bmi = BMI();

}

 

帅比::帅比() {}

 

double 帅比::BMI() {

if(身高!=0)return 体重 / 身高 / 身高*10000.0;

else return 0.0;

}

 

void 帅比::输入个人信息() {

cout << "输入名字:" ;

cin >> 名字;

cout << "输入身高:" ;

cin >> 身高;

cout << "输入体重:" ;

cin >> 体重;

bmi = BMI();

}

 

void 帅比::输出()const {

cout <<名字<<"的BMI为:"<< bmi<<endl;

}

 

 

int main() {

cout << "第一种初始化的方法"<<endl;

帅比 朕;   朕.输入个人信息();  朕.输出();

cout << "第二种初始化的方法:" << endl;

const 帅比 第二个朕("帅比", 168, 70); 第二个朕.输出();

//如果输出函数不定义成const成员函数,声明的变量就不能为const

const 帅比 更帅的人 = 第二个朕.比帅(朕);

cout << "this指针的用法:" << endl;

 更帅的人.输出();

 帅比 一群帅比[3];//对象数组,和普通数组用法类似,只是必须要有默认构造函数!!

system("pause");

}

 

 

 


 

最后祝大家编程愉快:)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐