C++调用另一个类构造函数
C++ calling another class constructor
我开始学习C++类,但我有一个问题。我阅读了有关构造函数和初始化列表的信息,但我仍然无法解决我的问题。
foo.h中的代码:
class point{
public:
double x,y;
point(double x1, double y1);
};
class line: public point{
public:
double A,B,C;
double distance(point K);
line(point M, point N);
};
在 foo.cpp:
point::point(double x1, double y1){
x=x1;
y=y1;
}
line::line(point M, point N){
if(M.x!=N.x){
A=-(M.y-N.y)/(M.x-N.x);
B=1;
C=-(M.y-A*M.x);
}
else{
A=1;
B=0;
C=-M.x;
}
}
当然它不起作用,因为我不知道如何在行构造函数中调用点构造函数。我该怎么做?我想这样做:
point A(5,3),B(3,4);
line Yab(A,B);
为什么class
Line会从class Point继承?溶液:1 - 不从点继承2 - 将两个属性添加到 Line 类:点 _p1,_p2,然后从构造函数 Line::Line(点 A,点 B) { _p1 = A; _p2 = B;}
初始化它PS 不会弄乱业务逻辑和访问模式
如果要从派生类调用基构造函数,则为 PPS:
class Base {}
class Derived: public Base
{
Derived() : Base() {}
}
或
Derived::Derived() : Base()
{
}
相关文章:
- 如果有一个模板构造函数只有一个泛型参数,为什么我必须有一个复制构造函数
- 关于复制构造函数的一个棘手问题
- C++构造函数,一个用于度,一个用于弧度
- 关于QLIST类型实例复制构造函数的一个奇怪问题
- 需要使班级(long_number)用构造函数和一个打印功能代表1到60的任何长度
- 运算符 = 不匹配,构造函数创建一个指针
- 为什么我不能在 c++ 类中声明一个空构造函数,该构造函数从一个具有私有构造函数的构造函数扩展而来
- 如何使构造函数接受一个非常量对象
- 初始值设定项列表,可变参数模板和构造函数推导:一个奇怪的情况
- shared_ptr的原始指针构造函数是一个错误吗?
- 当这个构造函数接受一个初始值设定项列表并委托一个向量时,是什么导致它委托给自己
- C++11使variadic构造函数了解一个初始化列表的初始化列表
- 为什么这个initializer_list构造函数是一个可行的重载
- 为什么我的Arduino类构造函数需要一个参数
- 内联构造函数和一个定义规则
- 如何通过构造函数将一个类的实例传递给另一个类
- 如何用g++构造在另一个文件中定义的类
- 在另一个类中使用自定义构造函数声明一个类
- 如何从另一个构造函数调用一个c++类的构造函数
- 模板中的构造函数不同:一个用于字符串,另一个用于其他任何东西