类和对象小练习
程序员文章站
2022-03-06 11:06:27
...
项目树
代码部分
main.cpp
#include <iostream>
#include <Landowner_v4.h>//如果要使用类,那么必须包含类的头文件
using namespace std;
int main()
{//构造函数的重载规则与普通函数相同
Landowner_v4 owner1;
cout << "***************************\n";
Landowner_v4 owner2("改改","黑马");//记得加双引号哦
owner2.show_info();
cout << "***************************\n";
Landowner_v4 owner3(25);
//Landowner_v4 owner3 = 25;//如果构造函数中,有且仅有一个参数,则可以写成Landowner_v4 owner3 = 25;
cout << "***************************\n";
//使用指针的方法访问成员变量
Landowner_v4* owner4; //定义指向结构体类型Landowner_v4的数据的指针变量owner4
owner4 = new Landowner_v4("红红","牛掰");//给指针分配内存的同时调用构造函数
//用new运算符开辟一个存放Landowner_v4型数据的空间
owner4 -> show_info(); //向结构体变量的方法
delete owner4; //撤销该空间
return 0;
}
Landowner_v4.h
#ifndef LANDOWNER_V4_H
#define LANDOWNER_V4_H
#include <iostream>
#include <string>
using namespace std;
class Landowner_v4
{
public:
Landowner_v4();
Landowner_v4(string, string);
Landowner_v4(int);
void show_info();
virtual ~Landowner_v4();
string GetName() { return m_Name; }
void SetName(string val) { m_Name = val; }
string GetDesc() { return m_Desc; }
void SetDesc(string val) { m_Desc = val; }
int GetAge() { return m_Age; }
void SetAge(int val) { m_Age = val; }
protected:
private:
string m_Name;
string m_Desc;
int m_Age;
};
#endif // LANDOWNER_V4_H
Landowner_v4.cpp
#include "Landowner_v4.h"
#include <iostream>
#include <string>
using namespace std;
Landowner_v4::Landowner_v4()
{
//ctor
cout << "调用的是默认构造(即无参构造)Landowner_v4()\n" ;
}
Landowner_v4::Landowner_v4(string name, string desc)
{
cout << "调用的是带参构造函数Landowner_v4(string name, string desc)\n" ;
m_Name = name;//等价写法SetName(name);
m_Desc = desc;
}
Landowner_v4::Landowner_v4(int age)
{
cout << "调用的是带参构造函数Landowner_v4(int age)\n" ;
SetAge(age); //等价写法m_Age = age;
}
void Landowner_v4::show_info()
{
cout << m_Desc << m_Name << endl;
}
Landowner_v4::~Landowner_v4()
{
//dtor
}
运行结果
上一篇: 一条 SQL 查询语句是如何执行的?
推荐阅读
-
透彻理解Java中Synchronized(对象锁)和Static Synchronized(类锁)的区别
-
Python面向对象编程中关于类和方法的学习笔记
-
cdr软件轮廓图小技巧:对象和颜色的使用
-
Java基础篇_有关接口和抽象类的几道练习题(分享)
-
透彻理解Java中Synchronized(对象锁)和Static Synchronized(类锁)的区别
-
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
-
Java中类、对象、封装、继承和多态(详细阐述)
-
浅谈python中的面向对象和类的基本语法
-
Python面向对象编程中关于类和方法的学习笔记
-
cdr软件轮廓图小技巧:对象和颜色的使用