可以主函数内通过=给对象的数据成员赋值吗?
时间: 2024-02-05 10:10:53 浏览: 34
在主函数内可以通过赋值运算符"="给对象的数据成员赋值,但是前提是这些数据成员必须是公有的(public)或者被声明为友元(friend)。例如:
```C++
#include <iostream>
using namespace std;
class MyClass {
public:
int num;
string str;
};
int main() {
MyClass mc;
mc.num = 100;
mc.str = "Hello, world!";
cout << mc.num << endl; // 输出:100
cout << mc.str << endl; // 输出:Hello, world!
return 0;
}
```
在上面的例子中,我们通过主函数给类MyClass的公有数据成员num和str赋值。注意,如果数据成员被声明为私有的(private),则无法通过主函数直接访问和修改这些成员的值。
相关问题
定义矩形类类内有数据成员和求面积和周长以及给数据成员赋初值的函数,在主函数中定义对象并赋值,求出该对象的面积和周长。
好的,让我来回答你的问题。
这里给出一个简单的矩形类的代码示例:
```
class Rectangle {
private:
double width;
double height;
public:
Rectangle(double w, double h) {
width = w;
height = h;
}
double getArea() {
return width * height;
}
double getPerimeter() {
return 2 * (width + height);
}
void setWidth(double w) {
width = w;
}
void setHeight(double h) {
height = h;
}
};
int main() {
Rectangle r(3, 4); // 定义对象并赋值
cout << "矩形的面积为:" << r.getArea() << endl;
cout << "矩形的周长为:" << r.getPerimeter() << endl;
return 0;
}
```
在上面的代码中,我们定义了一个矩形类,并在该类中定义了数据成员width和height,以及求面积和周长的函数getArea和getPerimeter,以及设置数据成员值的函数setWidth和setHeight。
在主函数中,我们定义了一个对象r,并调用了该对象的getArea和getPerimeter函数,求出了矩形的面积和周长,并输出结果。
希望这个示例对您有所帮助!
C++定义矩形类类内有数据成员和求面积和周长以及给数据成员赋初值的函数,在主函数中定义对象并赋值,求出该对象的面积和周长。
好的,接下来请听我回答。以下是C++代码实现:
```
#include<iostream>
using namespace std;
//定义矩形类
class Rectangle {
private:
double length; //长度
double width; //宽度
public:
//构造函数,初始化数据成员
Rectangle() {
length = 0.0;
width = 0.0;
}
//赋初值的函数
void setLength(double l) {
length = l;
}
void setWidth(double w) {
width = w;
}
//求面积和周长的函数
double getArea() {
return length * width;
}
double getPerimeter() {
return 2 * (length + width);
}
};
int main() {
Rectangle r; //定义矩形对象r
r.setLength(5.0); //给数据成员赋值
r.setWidth(3.0);
cout << "面积:" << r.getArea() << endl; //输出面积
cout << "周长:" << r.getPerimeter() << endl; //输出周长
return 0;
}
```
执行结果为:
```
面积:15
周长:16
```
感谢您的提问,我会继续为您服务!