一个完整了C++类

#include <iostream>
#include <string>
using namespace std;

class Painting
{

public:
    Painting(){ myYear = 0; }//QString是一个类,可以不用初始化。int类型需要初始化
    ~Painting(){}
    Painting(const string &title, const string &artist, int year)
    {
        myTitle = title;
        myArtist = artist;
        myYear = year;
    }

    void setTitle(const string &title)
		//const修饰的参数,在函数体内不能改变
    {
        myTitle = title;
    }
    string title() const {return myTitle;}
	//const修饰的成员函数不能修改任何的成员变量(mutable修饰的变量除外)

    void setArtist(const string &artist)
    {
        myArtist = artist;
    }
    string artist() const {return myArtist;}

    void setYear(const int &year)
    {
        myYear = year;
    }
    int year() const {return myYear;}
private:
    string myTitle;
    string myArtist;
    int myYear;
};
int main(int argc, char *argv[])
{
    Painting painting("Bill","Gates",23);
    cout<<painting.title()<<" "<<painting.artist()<<" "<<painting.year()<<endl;
    cin.get();

    return 0;
}
/*
2015年9月16日 22:54:52
const 使用说明:
const成员函数不能调用非onst成员函数,因为非const成员函数可以会修改成员变量
const修饰的成员函数不能修改任何的成员变量(mutable修饰的变量除外)
*/

在成员函数中的参数,用的是引用。

引用的作用可以参考这篇博文:C++ 引用的作用和用法

在这个类中大量运用了const. 这是一个很好的习惯。关于const的好处可以参考这篇博文:C++ const用法 尽可能使用const

 

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部