2 no goddess No_goddess 于 2016.09.25 20:15 提问

c++类中如何对函数进行获取和更改

类中
set函数

get函数
的结合如何使数据进行查看和更改,请大致写出思路,谢谢帮助
#include
using namespace std;
class Box
{
public:

Box(float = 1, float = 1, float = 1);

virtual ~Box();

void Show();

private:
float length, width, height;
};

#include "Box.h"
using namespace std;

/*
Box::Box()
{
length = 1; width = 1; height = 1;
cout << "Box("<<length<<","<<width<<","<<height<<")";
cout << "is constructed!" << endl;
}

*/

Box::Box(float L,float W,float H)
{
length = L; width = W; height = H;
cout << "Box(" << length << "," << width << "," << height << ")";
cout << "is constructed!" << endl;
}

void Box::Show()
{
cout << "length:" << length << endl;
cout << "width:" << width << endl;
cout << "height:" << height << endl;
cout <<"tiji" << length*width*height << endl;
cout << "mianji" << (2*((length*width)+(width*height)+(length*height))) << endl;
}

Box::~Box()
{
cout << "Box(" << length << "," << width << "," << height << ")";
cout << "is constructed!" << endl;
}

#include
#include "Box.h"
using namespace std;

int main()
{
Box box1;
box1.Show();
box1.~Box();

Box box2(4,2,3);
box2.Show();


system("pause");

}

3个回答

leewers
leewers   2016.09.25 21:55
float Box::getLength(){
    return length;
}

float Box::getHeight(){
    return height;
}

float Box::getWidth(){
    return width;
}

void Box::setLength(float length){
    this->length = length;;
}

void Box::setHeight(float height){
    this->length = height;
}

void Box::setWidth(float width){
    this->length = width;
}

void Box::set(float length = 1, float width = 1, float height = 1){
    this->length = length;
    this->width = width;
    this->height = height;
}


No_goddess
No_goddess 回复蓦然回首_: 但是我把代码加到上面不能运行啊,因为是初学者,所以,还希望多多解释一下。this指针可以直接在代码中用吗?
接近 2 年之前 回复
uVarAndMethod
uVarAndMethod 大概就是这样的
接近 2 年之前 回复
leewers
leewers   2016.09.26 00:47

这样应该没问题了

float Box::getLength(){
    return this->length;
}

float Box::getHeight(){
    return this->height;
}

float Box::getWidth(){
    return this->width;
}

void Box::setLength(float length){
    this->length = length;;
}

void Box::setHeight(float height){
    this->length = height;
}

void Box::setWidth(float width){
    this->length = width;
}

void Box::set(float length, float width, float height){
    this->length = length;
    this->width = width;
    this->height = height;
}

leewers
leewers   2016.09.26 00:50

不好意思,一时粗心

float Box::getLength(){
    return this->length;
}

float Box::getHeight(){
    return this->height;
}

float Box::getWidth(){
    return this->width;
}

void Box::setLength(float length){
    this->length = length;;
}

void Box::setHeight(float height){
    this->height = height;
}

void Box::setWidth(float width){
    this->width = width;
}

void Box::set(float length, float width, float height){
    this->length = length;
    this->width = width;
    this->height = height;
}


Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
python3中对类,对函数进行测试的脚本(单元测试)
先来看一下单元测试的概念:单元测试:单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。一、对函数进行测试  #  要测试的函数:   import unittest   def sum(x, y):         return x + y    def sub(x, y):          return x - y      # 测试该函数的测试类class mytest...
[C++ Primer] C++中sort对类对象进行排序
使用sort对类对象进行排序: 使用自定义的比较函数; 重载operator<操作符; 使用自定义的函数对象; 对<functional>中的类模板进行派生创建函数对象;
C++ sort函数对class类排序
sort是stl中一个经常用到的排序函数,可以对数组或类似数组(例如vector)的结构进行排序,默认为升序排序。 例如下面的代码对vec进行升序排序: sort(vec.begin(),vec.end()); 若想降序排序,则只需加greater即可: sort(vec.begin(),vec.end(),gerater()); 若想对结构体进行排序,也很简单 第一种
C++ 获取类成员函数地址方法 浅析
C语言中可以用函数地址直接调用函数: void print () { printf ("function print"); } typdef void (*fun)(); fun f = print; f();C++中类非静态成员函数必须通过实例去调用,C++中类成员函数调用: class test { public: void print () { printf ("func
java反射调用指定jar包中的类和方法
需求:动态加载jar包,实例化jar包中的类,并调用类中的方法 已知:jar包所在路径和jar包名称,类名已知,类继承的抽象类可以被引入,类中的方法已知 实现方法: 1. 手动调用类加载器动态加载jar包; 2. 应用java中的反射实例化类,得到类的一个实例; 3. 运用类实例调用类方法。 jar包所在路径及jar包名:C:/test_reverse.jar 类名:ReverseS
对文件操作系列函数详解
个人最文件操作做了如下的总结:方法一:用fopen打开,然后用文件那一类操作函数(fopen,fclose,fsacnf,fprintf,fseek,fread,fwirte,fgets)来改变其中的值,个人使用这些函数不太习惯。方法二:把文件映射到内存上,通过内存的一系列函数来操作,更加方便一点。fopen->fileno(把文件流转换成设备描述符)->fstat(读取文件大小)->mmap(映
双击listbox某一行,使这行的某个内容出现在编辑框中。
双击listbox某一行,使这行的某个内容出现在编辑框中。
使用Java Arrays类进行数组排序
Java Arrays类进行数组排序 static void sort(int[] a) public static<T> void sort(T[] a,Comparator c)
类中函数成员给数据成员赋值时的问题
在函数setDay()中,局部变量定义为day时,在函数内赋值时要使用this指针已区分两个day变量;或者局部变量定义为与成员变量不同的名字; 1 #include 2 using namespace std; 3 class Data 4 { 5 private: 6 int year; 7 int month; 8 int d
C++类的封装
1. C++面向对象编程介绍 面向对象编程(Object Oriented Programming),简称OOP。 在传统的面向过程编程中,数据以及数据的相关操作函数都是分离的独立个体; 对象,如周围的一切其实都是对象;就编程角度,对象包括A)一系列属性(数据);B)一系列操作(函数)。 OOP提供了设计对象的功能,对象包括特性和行为,两者都囊括在一起,共同构成对象实体(即