类和子类 - 从派生类发送到主要类的数据
Classes and subclasses - sending data from derived class to primary class
我正在尝试将数据(FISHNAME(从类" Fish"发送到主要类"动物"。我制作了一个对象,并试图访问子类函数以将数据从子类发送到主要类。
我的目标:将我在Readfish((中写的任何内容发送到动物的私人名称char。
代码:
#include <iostream>
using namespace std;
const int STRLEN = 32;
class Animal {
private:
char name[STRLEN];
public:
Animal() { }
Animal(char animalname) { name[STRLEN] = animalname; }
};
class AnimalInWater : public Animal {
private:
public:
AnimalInWater() { }
};
class Fish : public AnimalInWater {
private:
char fishname[STRLEN];
public:
void readFish() {
cout << "The name of the fish: "; cin.getline(fishname, STRLEN);
Animal(fishname); // Is supposed to use the constructor seen in Animal class
}
};
int main() {
Animal a1;
d1.readFish(); // readFish() is in the Fish class, which is under AnimalInWater which is under Animal.
// In other words; the readFish() function is the granddaughter class of Animal.
return 0;
}
我制作了一个对象,并试图访问子类函数以将数据从子类发送到主要类。
您正在谈论类,好像它们是对象一样。如果您有Fish
的实例,则是AnimalInWater
的实例,也是Animal
的实例。
如果您希望readFish()
为name
分配一些值,则只需将其分配给Fish
类中的该方法中的name
。
逐一看这个。
变量name
是char
的数组,具有STRLEN
插槽。
插槽从0到STRLEN
-1编号。
表达式name[0]
代表第一个插槽。
表达式name[STRLEN]
代表一个超过数组末端的一个。
变量 animalname
是 single 字符。
构造函数将animalname
内部的值放在插槽name[STRLEN]
中,该值超出了数组。
相关文章:
- 继承期间显示未知行为的子类
- 将父类的子类的数据复制到具有相同父类的另一个类
- C++ 如何从虚拟类的模板化子类中获取数据?
- 无法将数据从父类继承到C++中的子类
- 类和子类 - 从派生类发送到主要类的数据
- 子类是否也在 c++ 中继承私有数据成员?但通过超类的公共方法访问
- 在子类函数中访问超类友元的受保护数据成员
- c++:可以使用父构造函数初始化子类中的数据吗?
- C++ 访问子类中的数据
- 在构造子类对象的过程中,更改一个类属性的数据类型会导致segfault
- 可视化 当基类和子类具有相同的对象名称但类型不同时,如何访问子类的数据成员。在C++
- 在没有数据重复的情况下强制转换/实例化/转换为子类/超类
- 在父类中使用受保护的数据,并将其传递给子类
- 如何将双精度向量传递给构造函数,然后在子类中访问其数据(在c++中)
- 将父数据成员值传递给子类
- 是否存在用于在子类的数据上实施规则的设计模式
- c++继承以及如何通过超类传递和维护子类数据
- 访问子类中的"protected"数据时"Identifier is undefined"错误
- 将数据从父类实例复制到子类的有效方法
- 在子类上调用虚拟方法将返回超类数据